我有一个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
理想情况下,您应该将*
替换为要允许访问的域。