1

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

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

我也读过 JSONP,但这里不是这样。我真的需要与 iframe 的 DOM 交互,而不仅仅是从那里获取数据(使用代理服务)。

真的存在绕过同源策略与 iframe 的 DOM 交互的任何方法吗???

4

1 回答 1

1

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

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

于 2013-09-28T02:14:19.310 回答