即使域名不匹配,也可以从iframe访问父级?

时间:2012-08-20 20:38:37

标签: javascript dns

我有一个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;

有解决方法吗?

2 个答案:

答案 0 :(得分:0)

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

如果父级和iframe的域名不相关,则无法解决此问题。

答案 1 :(得分:0)

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

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

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

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