先介绍一下情况,我的网站是 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 就可以了,结果发现这么复杂。