【问题标题】:Frame buster buster帧克星克星
【发布时间】:2010-11-12 01:20:23
【问题描述】:

我正在尝试使用 frame-buster-buster,正如这个问题中所讨论的: Frame Buster Buster ... buster code needed

它在阻止框架破坏方面非常有效,不幸的是它也完全阻止了 URL 的任何更改 - 包括单击链接或在地址栏中输入新地址。

有没有办法解决这个问题?也许通过在框架加载后清除 window.onbeforeunload 函数?还是完全不同的方法?

【问题讨论】:

  • 这听起来像是邪恶的编码!
  • 哈。没什么邪恶的——它是一个显示社交媒体网站的工具栏。 Myspace 使用 framebuster。
  • 如果 Myspace 对内容设置了限制,我想如果您“解决”您遇到的限制,他们不会喜欢它。你能确定对 URL 栏的限制是无意的吗?
  • 我应该能够以任何我想要的方式显示我的 Myspace 页面。在 Myspace 提供外部 API 之前,框架是我能做的最好的。

标签: javascript html iframe


【解决方案1】:

这就是我最终的结果。它仅在页面加载后忽略下一个重定向。这种方法的主要缺点是,如果框架从不调用它的 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);
}

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

我知道某处有一个解决方案 - 谷歌图片似乎可以正常工作。任何进展都会更新...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多