我正在尝试使用frame-buster-buster,正如这个问题中所讨论的:Frame Buster Buster ... buster code needed
它可以很好地阻止frame buster,不幸的是,它也会阻止url的任何更改-包括单击链接或在地址栏中键入新地址。
有什么办法可以解决这个问题吗?也许可以在框架加载后清除window.onbeforeunload函数?或者是一种完全不同的方法?
发布于 2009-09-23 07:05:01
这就是我最终要做的。它只忽略页面加载后的下一个重定向。这种方法的主要缺点是,如果框架从未调用它的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);
}它仍然有问题-如果它发生在页面的开头,它似乎会停止加载内容。
我知道有一个解决方案在某个地方--谷歌图片似乎已经让它发挥了作用。会随着任何进展而更新...
https://stackoverflow.com/questions/1149101
复制相似问题