if(window.top!==window.self){document.write="";
window.top.location=window.self.location;
setTimeout(function(){document.body.innerHTML=""},1);
window.self.onload=function(){document.body.innerHTML=""}};
这是否确保页面不在iframe内呈现?
答案 0 :(得分:4)
是的,似乎这个脚本尝试使自己成为父框架(如果它还没有)。正如Pointy所说,这些并不总是奏效。除非创建该文档,否则Javascript无法在大多数浏览器中“突破”它的所有者文档。或者,如果包含Javascript的页面是以相同域策略不起作用的方式动态加载的。 (如果您的网站位于iframe /框架中,可能不是这样)如果某个网页正在另一个网页中打开,则脚本不应具有修改权限父文件。
这是您发布的代码,分为几行注释。
if(window.top!==window.self){ // is the outermost document not this document?
document.write=""; // write an empty text node to the document. (not sure why)
window.top.location=window.self.location; // set the parent document's location to this document's location.
setTimeout( function(){document.body.innerHTML=""}, 1); // after 1 millisecond make this document's HTML empty. (Probably a memory leak fix)
window.self.onload = function(){document.body.innerHTML=""} // Another memory leak fix to clear the current document when it is done loading.
};
答案 1 :(得分:1)
它看起来像一个“帧破坏者”例程。这些事情是否有效似乎是controversial topic.
答案 2 :(得分:0)
window.top 代表浏览器中最顶层的窗口。简单来说,它就是浏览器窗口本身。
代码似乎是用空格清除所有iframe。
答案 3 :(得分:0)
这是否确保页面不在iframe内呈现?
iframe
或frame
,是的。它试图爆发。