尽管我已经看过许多文章(包括在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 ???进行交互
答案 0 :(得分:1)
在iframe之间(特别是跨域)发送数据的正确方法是使用postMessage()。 https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage
通过让邮件的收件人根据其想要的规则验证调用者是否具有正确的域,有效地“绕过”了问题。