Javascript 即使域不';不匹配?

Javascript 即使域不';不匹配?,javascript,dns,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 =

我有一个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.com),则可以使用
document.domain=“parent.com”
设置iframe文档的域并避免该问题

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

对CORS(跨源资源共享)进行一些研究:

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

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

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

出于安全原因,不允许您这样做。谷歌的“XSS漏洞”不,如果父窗口来自另一个域,则无法访问它,除非您能够控制它。