同源策略错误

时间:2017-10-20 18:00:10

标签: html iframe

我想了解同源政策。有一个site在谈论它。但必须有某事。第一个例子错了,因为我收到错误Illegal document.domain value

以下是有问题的代码:

位于http://www.qnimate.com/parent.html的父网站:

<iframe src="http://www.blog.qnimate.com/child.html" id="myIFrame"></iframe>
<script>
window.document.domain = "www.qnimate.com";//you also need to set the parent's document.domain variable
window.document.getElementById("myIFrame").contentWindow.document.body.style.backgroundColor = "red";//this access is allowed by default
</script>

和iframe位于http://www.blog.qnimate.com/child.html

<script>
window.document.domain = "www.qnimate.com"; //if we remove this line then the below line will not work and throw a same origin policy exception.
window.parent.document.body.style.backgroundColor = "blue";
</script>

1 个答案:

答案 0 :(得分:0)

您只能将document.domain设置为当前域的超级域。您可以从左侧删除组件。

当前域名为www.blog.qnimate.com,因此可以将其设置为blog.qnimate.comqnimate.com

您无法删除中间的组件,因此您无法www.qnimate.com

要通过iframe在不同的来源进行通信,请按照in this question所述使用postMessage