我在来自其他域的iframe
中有一个document
。由于这个原因,浏览器似乎阻止我访问内部iframe。我可以将两个域更改为相同的值吗?我尝试了document.domain = 'targetdomain'
,但是抛出了DOM异常。
答案 0 :(得分:4)
iframe的域是加载到iframe中的URL的域。
如果您喜欢在其他域上,可以将iframe.src
更改为其他文档,但在保持加载相同文档的同时无法更改iframe本身的域名,以便您能够访问内容这将是same-origin policy保护的非常安全违规行为。
更改域的一个例外是使用子域时。您可以阅读here。
因此,除非这两个域中的一个是另一个域的子域,否则您无法从另一个域访问。
在最新的浏览器中,有一种HTML5消息传递方案,允许来自不同域的两个协作帧/窗口相互交换消息。这里的关键是两个框架/窗口必须合作才能实现(意味着你必须对两个框架/窗口进行代码控制)。您可以阅读有关here的更多信息。