Chrome会阻止不同的来源请求

当脚本尝试访问来自不同来源的框架时,Chrome会将其屏蔽并引发exception

“未捕获的安全性错误:阻止源”提供者域“的框架访问源”mydomain“的框架,协议,域和端口必须匹配”。

谷歌浏览器中的一些更新后,我得到了这个错误。 有什么build议么?

只有在框架和/或窗口符合同源策略的情况下才允许直接调用JavaScript。 如果您的窗口和iframe共享一个共同的父域,您可以将document.domain设置为“ 域较低 ”)一个或两个,他们可以沟通。 否则,你将需要看像postMessage()API 。

这是一个安全更新。 如果攻击者可以修改Web服务器中的某个文件(例如JS),他可以使每个加载页面下载另一个脚本(例如键入密码或窃取SessionID并将其发送到他自己的服务器)。

为了避免这种情况,浏览器检查同源策略

你的问题是,浏览器试图加载你的脚本(与Ajax请求)在另一个域(或子域)的东西。 为了避免它(如果它是在你自己的网站上),你可以:

  • 复制你自己的服务器上的元素(但它将是静态的)。
  • 您可以更改您的HTTP标头以接受跨源内容。 有关更多信息,请参阅Access-Control-Allow-Origin文档 。