从IFrame(相同网域)存取父文件给错

时间:2019-05-13 13:33:55

标签: javascript html iframe url-redirection

我正在尝试使用window.parent.document从iframe访问父文档,但出现此错误-

Uncaught DOMException: Blocked a frame with origin "https://abc.xyz.com" from accessing a cross-origin frame.

但是父级和iframe的主机都相同。 两者都有主机https://abc.xyz.com

在iframe中,我通过一些URL对其进行重定向。所以它始于

https://abc.xyz.com 然后转到

https://www.facebook.com

然后再次重定向到 https://abc.xyz.com

此重定向后,我试图访问文档,但出现此错误。 关于为什么会发生这种情况有任何想法吗?请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用postMessage(有关here的更多信息)。

在您的iframe中,请致电:

window.parent.postMessage({message: 'stuff you want to send'}, 'https://abc.xyz.com/');

在父窗口中,您可以像这样监听消息事件:

window.addEventListener('message', function(evt) {
   if(evt.origin == 'https://abc.xyz.com/')
       console.log('Data: ' + evt.data.message);
}, false);