帧破坏者破坏者

时间:2009-07-19 02:32:05

标签: javascript html iframe

我正在尝试使用frame-buster-buster,如本问题所述: Frame Buster Buster ... buster code needed

它非常适合停止帧破坏者,不幸的是它也会停止对URL进行任何更改 - 包括单击链接或在地址栏中键入新地址。

这有什么办法吗?也许通过在框架加载后清除window.onbeforeunload函数?还是一种完全不同的方法?

1 个答案:

答案 0 :(得分:3)

这就是我最终的目标。它只会在页面加载后忽略下一个重定向。这种方法的主要缺点是,如果帧从不调用它的framebuster(例如,因为它没有正确加载,或者框架的站点更改其代码),这将停止下一次尝试的页面移动。一种可能的解决方案是在帧页面加载后执行它,但直接在任何脚本执行之前执行。另一种解决方案是仅捕获对框架主机的基本URL的URL更改。我不知道这是否可能......

function ignore_next_redirect() {
  var redirect_timer;
  var prevent_bust = 0  
  window.onbeforeunload = function() { prevent_bust++; }  
  redirect_timer = setInterval(function() {  
    if (prevent_bust > 0) {  
      window.top.location = 'http://example.org/204'  
      window.onbeforeunload = function() {}
      clearInterval(redirect_timer);
    }  
  }, 1);
}

它仍然存在问题 - 如果它发生在页面的开头,似乎停止加载内容。

我知道某个地方有一个解决方案 - 谷歌图片似乎已经运行了。将随着任何进展而更新......

相关问题