我在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以使其能够异步识别,我想避免。
谢谢