这里我有一个网站www.mytest.com,很简单,只有一个带有iframe的空白页面。
<div id="container">
Hello World!!!
</div>
<div>
<iframe style="border: none;height: 100%;width:100%;position: fixed;top: 50px; background:white" src="http://anothersite.com"></iframe>
</div>
我在“anothersite.com”中设置了Content-Security-Policy,并设置允许访问网站“www.mytest.com”。它工作正常,在mytest.com iframe我可以访问“anothersite.com”并做正常的事情。
但是,当我尝试在iframe中访问“anothersite.com”的一个页面时,它会报告错误:未捕获DOMException:阻止具有原始“http://anothersite.com”的帧访问跨源帧。
这是因为我为这个页面编写了这些代码:
var test = '<div class="mystyle"><span>mythings</span></div> ......';
我在第一个网站尝试过设置document.domain = mytest.com。并记录iframe的域名
console.log("iframeData",document.querySelector('iframe').contentDocument.domain);
console.log("hostName", window.location.hostname);
这两个结果都是“www.mytest.com”。但它仍然无法访问具有相同错误的特殊页面。
任何人都知道如何解决它或任何工作环境?