我想了解同源政策。有一个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>
答案 0 :(得分:0)
您只能将document.domain
设置为当前域的超级域。您可以从左侧删除组件。
当前域名为www.blog.qnimate.com
,因此可以将其设置为blog.qnimate.com
或qnimate.com
。
您无法删除中间的组件,因此您无法www.qnimate.com
。
要通过iframe在不同的来源进行通信,请按照in this question所述使用postMessage
。