【问题标题】:prevent iframe from redirecting parent page防止 iframe 重定向父页面
【发布时间】:2013-03-12 19:22:00
【问题描述】:

情况是这样的: 我在同一个域上,我的网站中有一个 iframe。 目前,由于部署问题,我无法立即访问 iframe 代码。

当 iframe 加载时,其中的代码会检测到触发父页面重定向的内容。暂时,我想删除它。我知道我可以使用 onbeforeload,但每次用户点击任何链接时都会显示警告。

有没有办法可以检测到重定向?它发生在主父页面完全加载之前。

我用谷歌搜索了很多,但仍然没有有效的解决方案。

谢谢!

【问题讨论】:

标签: javascript jquery asp.net html redirect


【解决方案1】:

使用 onbeforeunload 事件要求用户离开或停留。

<script>
    window.onbeforeunload = function(){
        return false; // This will stop the redirecting.
    }
</script>  

我的答案基于 * 中的答案!!!

【讨论】:

  • 在原帖中特别指出是 OP 不想要的东西
【解决方案2】:

这有点丑陋,但这里有一些可行的方法(我承认我对 iframe 的工作原理了解不多)。通过 javascript 获取要放入 iframe 的页面。使用 javascript 解析它,直到你得到重定向代码,然后去掉那个重定向代码。然后将结果放入 iframe 中。充其量是丑陋的,但它似乎可以工作。

【讨论】:

    【解决方案3】:

    看完w3.org spec。我找到了另一个解决方案。

    您可以设置sandbox="",以防止 iframe 重定向。话虽如此,它也不会重定向 iframe。您将基本上失去点击。

    此处的示例:http://jsfiddle.net/ppkzS/1/
    没有沙箱的例子:http://jsfiddle.net/ppkzS/

    【讨论】:

      【解决方案4】:

      试试这个:

      <iframe align="left" src="http://*.com/" sandbox=""></iframe>'
      

      【讨论】: