从iframe访问父级,即使域没有't匹配

Access parent from iframe even though domains don't match?

本文关键字:匹配 访问 iframe      更新时间:2023-09-26

我有一个javascript脚本,它正在试图访问父级的iframe中运行,但我收到了以下错误:

Unsafe JavaScript attempt to access frame with URL mysite.com from frame with URL myothersite.com?. Domains, protocols and ports must match.

iframe html在另一个域上,但我认为这无关紧要。这是生成JS错误的代码:

var parent_site = parent.document;

有办法绕过这个吗?

如果父域是iframe域的尾部(即iframe是child.parent.com,parent是parent.com),则可以使用document.domain = "parent.com"设置iframe文档的域,从而避免此问题。

如果父项和iframe的域不相关,就没有办法解决它。

对CORS(跨来源资源共享)进行一些研究:http://www.w3.org/TR/cors/

您基本上需要将其添加到父域的.htaccess:

Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Headers x-requested-with

理想情况下,您应该将*替换为要允许访问的域。