我在A.com上有一个网站,在B.com上有一个从A.com调用javascript的iframe。这在FF中很有用。在IE7 / 8中我得到了一个
Message: Access is denied.
消息。我通过Fiddler检查了HTTP流量 - 我可以看到它在Fiddler中没有被阻止?
任何想法可能导致这种情况以及如何解决?
答案 0 :(得分:4)
如果两个页面都在您的控制范围内(即它们属于您并且您更改了代码),请尝试此操作 -
http://www.tomhoppe.com/index.php/2008/03/cross-sub-domain-javascript-ajax-iframe-etc/
像这样设置document.domain:
<script type="text/javascript">
document.domain = 'tomhoppe.com';
</script>
答案 1 :(得分:2)
IFrame可以进行通信,只要它们是相同来源的#34; - 所以相同的域和相同的协议。如果来源不同,则会阻止通信。
HTML5引入了一种新的通信机制。值得一看http://www.w3.org/TR/webmessaging/
http://en.wikipedia.org/wiki/Cross-document_messaging
值得一读的是安全隐患
https://www.owasp.org/index.php/HTML5_Security_Cheat_Sheet#Web_Messaging