防止嵌入html页面的twitter上的javascript

防止嵌入html页面的twitter上的javascript,javascript,security,Javascript,Security,这是您可以在www.twitter.com上找到的javascript(只需单击查看源代码) 为了清晰起见,我刚刚对其进行了重新格式化: if (window.top !== window.self) { document.write = ""; window.top.location = window.self.location; setTimeout(function() { document.body.innerHTML = ''; }, 1); window.

这是您可以在www.twitter.com上找到的javascript(只需单击查看源代码) 为了清晰起见,我刚刚对其进行了重新格式化:

if (window.top !== window.self) {
  document.write = "";
  window.top.location = window.self.location;
  setTimeout(function() {
    document.body.innerHTML = '';
  }, 1);
  window.self.onload = function(evt) {
    document.body.innerHTML = '';
  };
}
现在我明白了这个技巧是为了防止其他网站用其他iFrame包装twitter。 但我想问的是 我们真的需要所有这些代码吗? 将函数设置为在1毫秒内执行,将函数设置为在“onload”下执行,需要什么 现在有一个

那是偏执狂还是真的值得

非常感谢
Reg

大多数浏览器在加载页面时只打开一个或两个到服务器的连接,这意味着在加载页面的原始副本时重定向必须位于队列中。您可能已经注意到,当您单击某个链接时,浏览器中的“当前”页面将保持交互式/可用性,直到新页面实际开始下载。timeout/onload会杀死页面的内容,理论上会中止任何正在进行的传输,并将重定向跳到列表的顶部。并且还可以防止页面在frame/iframe中被使用,直到framebuster代码完成。

我猜,在99%以上的情况下,仅使用“现在”部分就可以了,但是对于某些浏览器,或者包含页面的黑客攻击,都可以绕过它。不知何故,添加的代码“修复”了这一点。但我不知道具体情况。