V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
JJaicmkmy
V2EX  ›  问与答

通过 iframe 嵌入音乐,跨域问题

  •  
  •   JJaicmkmy · 2016-04-26 06:35:42 +08:00 · 3992 次点击
    这是一个创建于 3134 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先介绍一下情况,我的网站是 example.com ,在 music.example.com 反代了网易云音乐(因为网易云音乐不支持 HTTPS )。
    在主站用 iframe 嵌入网易云音乐的播放器,代码是:
    这种情况下,控制台会输出红色警告,提示:

    Blocked a frame with origin "https://music.example.com" from accessing a frame with origin "https://www.example.com". Protocols, domains, and ports must match.

    查了一下,这种情况似乎是要在 JS 中加入document.domain = 'example.com';可是 Nginx 反代似乎不能添加内容。
    这种情况下,跨域怎么才能不被 Block ?
    PS :从没接触过 iframe ,还以为只要加一个 Access-Allow-Origin 的 Header 就可以了,结果发现这么复杂。

    5 条回复    2018-04-18 18:33:34 +08:00
    just1
        2
    just1  
       2016-04-26 22:49:03 +08:00 via Android
    谁说 nginx 反代不能加内容了。。
    最简单的方法替换
    复杂一点用 lua
    JJaicmkmy
        3
    JJaicmkmy  
    OP
       2016-04-27 00:26:36 +08:00 via iPad
    @just1 subs_module 只能替换,不能添加吧。
    just1
        4
    just1  
       2016-04-27 12:09:48 +08:00 via Android
    @JJaicmkmy 是,需要添加要用 lua
    sevenQu
        5
    sevenQu  
       2018-04-18 18:33:34 +08:00
    我遇到相同的问题,不知道该如何解决,从前端角度
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2690 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:47 · PVG 18:47 · LAX 02:47 · JFK 05:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.