由iframe子级控制的对父窗口的访问

时间:2019-11-05 16:46:16

标签: javascript iframe same-origin-policy cross-domain-policy

我在html页面中进行了以下设置-

parent-page
     child-iframe

子iframe和父iframe来自同一个域。

鉴于两个页面都来自同一域-子iframe可以直接访问父窗口对象及其成员,并且可以根据需要修改/更改内容- 因此,例如:child-iframe可能会发出-

  parent.document.body.innerHTML = "hello"; 

我想要某种“受控”设置-我想选择性地启用对某些父对象的JS对象的访问。 例如:我想完全拒绝访问父对象的document对象,我将注入一个单独的JS对象,子iframe将使用该对象直接与父对象进行对话

在浏览器中这可能吗?

要添加一些详细信息-我尝试将iframe的“沙箱”属性设置为各种值-例如:默认值(所有设置均已禁用)-但是我无法直接通过父母和子女直接传递JS对象-frame(以及这些js对象中的调用函数)

我尝试将沙箱设置为“ allow-same-origin”-但这与未指定沙箱属性(来自相同域的页面至少)相同。

此外,我不想在用例中使用postMessage路由,原因是我希望通信是同步的-使用postMessage意味着我需要重构内部API以使其能够异步识别,我想避免。

谢谢

0 个答案:

没有答案