文档域同源策略不起作用

document.domain same origin policy not working

本文关键字:策略 不起作用 文档      更新时间:2023-09-26

尽管我已经看到许多文章(包括在stackoverflow中)演示了如何绕过javascript的同源策略分配document.domain属性,但它不起作用。我还在 W3C 规范中读到 document.domain 属性是只读的,并非所有浏览器都接受设置它,我认为这就是我无法让它工作的原因!

我有一个页面(域 d1.y.com.br),我需要在嵌入式 iframe 的页面(域 d2.x.com.br)中调用一个按钮。我正在将父 document.domain 属性设置为子域"x.com.br",但我仍然在 firebug 控制台中收到"访问被拒绝"错误消息。

我也读过关于 JSONP 的信息,但这里的情况并非如此。我真的需要与iframe的DOM交互,而不仅仅是从那里获取数据(使用代理服务)。

确实存在绕过同源策略与 iframe 的 DOM ???进行交互的方法

在 iframe 之间(尤其是跨域)发送数据的正确方法是使用 postMessage()。 https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage

这有效地"绕过"了问题,让消息的接收者根据它想要的任何规则验证调用方是否具有正确的域。