Chrome会阻止不同的来源请求

MAN*_*ANI 39 javascript google-chrome

当脚本尝试从不同的源访问一个帧时,Chrome会阻止它并抛出异常

"Uncaught SecurityError:阻止具有源'提供者域'的帧访问具有源'mydomain'的帧.协议,域和端口必须匹配".

谷歌浏览器更新后,我收到此错误.有什么建议?

bro*_*ofa 23

只有在符合同源策略的情况下,才允许在帧和/或窗口之间进行直接Javascript调用.如果您的窗口和iframe共享一个公共父域,您可以将其设置document.domain为" domain lower ")一个或两个,以便它们可以进行通信.否则,您需要查看类似postMessage()API的内容.


Bin*_*ain 5

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

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

您的问题是浏览器正在尝试使用另一个域(或子域)上的脚本(带有Ajax请求)加载某些内容.为避免它(如果它在您自己的网站上),您可以:

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