从打开的窗口对 iFrame 内的 DOM 进行 Javascript 操作
我的主页来自“DomainA”,其中有一个来自“DomainB”的 iFrame。 iFrame 内的页面有一个打开窗口的 onclick 事件,也来自 DomainB。
我正在尝试使用以下方法从打开的窗口更新 iFrame 内的输入字段:
window.opener.document.getElementById('foo').value = 'bar';
这在 FF 中工作正常,但是在 IE 中我收到错误:SCRIPT70:权限被拒绝
似乎我得到了由于同源策略而被阻止,但打开窗口的页面和打开的窗口是两个都来自域B。
我在 window.open() 中使用相对 URI。 IE 是否从 iframe 的父级确定域?
我该如何解决这个问题?
My main page is from "DomainA" and I have an iFrame within that from "DomainB". The page within the iFrame has an onclick event to open a window, also from DomainB.
I'm trying to update an input field inside the iFrame from the opened window using:
window.opener.document.getElementById('foo').value = 'bar';
This works fine in FF, however in IE I get the error: SCRIPT70: Permission denied
It seems like I'm getting blocked because of the Same Origin Policy, but the page that opens the window, and the opened window are both from DomainB.
I'm using a relative URI within window.open(). Is IE determining domain from the parent of the iframe?
How can I get around this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
事实证明,另一位开发人员在其中一个脚本中添加了以下行:
这导致了该行为。请无视,谢谢。
Turns out another developer had added the follwing line inside one of the scripts:
This was causing that behaviour. Please disregard, thx.