我正在开发一个Web应用程序。 在这个Web应用程序中,我必须从iframe中的不同服务器(例如:www.xyz.com)加载网页。但有时当我尝试从iframe中的某个不同服务器加载网页时,服务器会使用位置标头字段中的重定向链接以HTTP状态代码302(代表重定向)进行响应。发生这种情况时,主窗口(我的Web应用程序)被重定向,而不是仅在iframe中发生重定向。如何确保重定向仅在iframe而不是主窗口中发生?
答案 0 :(得分:6)
使用sandbox =“...”
热门导航是您要阻止的内容,因此请将其保留,不允许使用。遗漏的任何内容都将被阻止
离。
<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com"</iframe>
答案 1 :(得分:1)
问题不在于您的重定向,而在于之前发生的事情:我认为用户通过POST
提交表单,并且网络服务器根据最佳做法回复302重定向。
如果<form>
的{{1}}属性指向另一个网页,则其答案将重定向顶部 iframe。我找不到任何引用该行为的参考文档,但它是如何在当前浏览器中运行的。
解决方案是将action
属性设置为target
:
_self
<iframe>
...
<form action="http..." target="_self" >
...
</iframe>
属性在这里没有帮助,您可能想要省略该属性或至少设置sandbox
。
答案 2 :(得分:1)
当我设置target =&#34; iframe_name&#34;。
时,它适用于我