如何区分iframe重定向和手动重定向

时间:2015-03-05 08:11:44

标签: javascript redirect iframe javascript-events onbeforeunload

我确实有一个网站,其中加载了几个iframe,这是我无法控制的内容。这些iframed页面可能会导致重定向。我确实通过使用这个破坏iframe的破坏代码来阻止这些重定向:

<script>
  // Code from here:
  // https://stackoverflow.com/questions/958997/frame-buster-buster-buster-code-needed
  var prevent_bust = 0
  window.onbeforeunload = function(){
    prevent_bust++;
  };
  setInterval(function(){
    if (prevent_bust > 0){
      prevent_bust -= 2;
      window.top.location = '/204-NoContentResponse.php';
    }
  }, 1);
</script>

这适用于iframe,但现在用户无法手动更改网址,也无法手动离开网页。如果他在他的omnibox / url栏中输入了不同的URL,那么也会阻止这种重定向。

所以这篇文章:Disable onbeforeunload for links不适用于此,不幸的是。

有没有办法让用户通过输入网址,点击书签或点击F5离开页面,但阻止iframe重定向?

更新

我忘了提到这个网站是在用户被迫使用IE9的环境中运行的。所以sandbox属性不可能是不幸的。

0 个答案:

没有答案