有没有办法阻止iframe重定向父窗口,但是这样的方式"顶级"重定向仍然可以在iframe内部工作?

Mah*_*ahn 19 html javascript iframe

所以我已经阅读了HTML5 sandbox属性,我明白如果我想阻止iframe重定向其父窗口,我可以使用该sandbox属性遗漏allow-top-navigation.但是,当这样做时,如果iframe最初依赖于顶级重定向,那么它所发生的是它重定向到空白页面,有效地破坏了导航.

我是否可以阻止iframe修改其父窗口,同时仍然允许"顶级"重定向,只允许这些在iframe的上下文中工作而不是顶级?

编辑:对于上下文,我正在与第三方合作,其页面包含一个带有目标的表单_top.如果iframe是沙箱,则在提交表单时,用户会获得一个空白页面,如果没有沙箱,则会重定向整个页面.我正在寻找能够提交表单并在iframe中显示结果的内容.

eir*_*ios 5

HTML5添加iframe沙箱属性。

在撰写本文时,它适用于 Chrome、Safari、Firefox 以及最新版本的 IE 和 Opera,但几乎可以满足您的需求:

允许将 iframe 内容视为与包含文档来自同一来源

<iframe src="url" sandbox="allow-same-origin"></iframe>
Run Code Online (Sandbox Code Playgroud)

浏览器兼容性 在此输入图像描述


一些有用的链接


小智 0

您可以使用该onbeforeunload属性并确定是否要重定向。

这是它的文档页面

基本上我会尝试的是:

  • 创建一个函数,将沙箱属性添加到所有内容,只是将 , 省略allow-top-navigation到 iframe
  • 将一个函数绑定到onbeforeunloadiframe 的属性上,该函数调用添加沙箱属性的函数(确保不要返回任何内容,因为会弹出一个对话框)

这应该可行,因为请求首先在 iframe 中发出,然后我们可以阻止它转移到我们的顶级窗口。

您应该检查的另一件事是您是否可能遗漏了该allow-forms选项,这可能会导致您所描述的情况。

请告诉我这是否有效。

  • 您应该向第三方供应商提出这个问题。表单的目标听起来应该是在 iframe 中加载页面的查询字符串中的某种可配置选项。 (3认同)