如何找到导致网页自动刷新的特定代码?
我查看了HTML元刷新的来源,但无济于事。我也在主页面中找不到任何Javascript“重新加载”,这让我觉得它可能是通过链接javascript文件外部加载的。
“专业人士”如何通过Firebug(或其他调试器)跟踪此问题?
注意:
我对能够调试和跟踪这样的事情的过程更感兴趣,而不是一个能够阻止它冷却的“全能”解决方案(例如禁用Firefox范围内的页面自动化功能) - 刷新自己)。
答案 0 :(得分:2)
问题很可能出在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)寻找破碎的选择器。您可能会将Click事件处理程序附加到整个DIV,甚至是偶然的整个文档。
答案 1 :(得分:1)
没有直接在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);