如何找到导致网页自动刷新的特定代码?
我查看了 HTML 元刷新的源代码,但无济于事。我在主页中也找不到任何 Javascript “重新加载”,这让我认为它可能是通过链接 javascript 文件从外部加载的。
“专业人士”如何跟踪这一点,例如通过 Firebug(或其他调试器)?
笔记:
我对能够调试和追踪这样的事情的过程更感兴趣,而不是能够阻止它变冷的“包罗万象”的解决方案(例如禁用 Firefox 范围内的页面自动刷新能力) )。
如何找到导致网页自动刷新的特定代码?
我查看了 HTML 元刷新的源代码,但无济于事。我在主页中也找不到任何 Javascript “重新加载”,这让我认为它可能是通过链接 javascript 文件从外部加载的。
“专业人士”如何跟踪这一点,例如通过 Firebug(或其他调试器)?
笔记:
我对能够调试和追踪这样的事情的过程更感兴趣,而不是能够阻止它变冷的“包罗万象”的解决方案(例如禁用 Firefox 范围内的页面自动刷新能力) )。
问题很可能出在 javascript 文件中。通过他们寻找以下内容:
1) 寻找可用于更改 URL/位置、重定向或导致浏览器返回的任何内容:
window.location.href
window.history.back(-1)
window.navigate(”example.html”);
self.location=”top.htm”;
top.location=”error.jsp”;
2)寻找计时器,例如:
setTimeout()
setInterval()
3) 寻找损坏的选择器。您可能无意中将单击事件处理程序附加到整个 DIV 甚至整个文档。
在 javascript中没有直接找到刷新源的方法。在您的代码上尝试@Steve Papa 的提示。如果您想阻止刷新并在控制台中查看是否可以找到任何有用的信息。
要停止刷新,请使用onbeforeunload 事件。传递给事件的事件对象有很多信息,但我找不到任何指向触发器的东西。在 closeIt(e) 上添加断点,并在全局变量或调用堆栈中寻找线索(我认为这里不会有太大用处)。
function closeIt(){
return "Any string value here forces a dialog box to \n" +
"appear before closing the window.";
}
window.onbeforeunload = function(e){
closeIt(e); //add a breakpoint here.
}
setTimeout(function(){location.reload()},2000);