如何找到刷新页面的代码?

时间:2013-09-13 04:28:04

标签: javascript jquery html debugging firebug

如何找到导致网页自动刷新的特定代码?

我查看了HTML元刷新的来源,但无济于事。我也在主页面中找不到任何Javascript“重新加载”,这让我觉得它可能是通过链接javascript文件外部加载的。

“专业人士”如何通过Firebug(或其他调试器)跟踪此问题?

注意:

我对能够调试和跟踪这样的事情的过程更感兴趣,而不是一个能够阻止它冷却的“全能”解决方案(例如禁用Firefox范围内的页面自动化功能) - 刷新自己)。

2 个答案:

答案 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);

http://jsfiddle.net/Gjuhm/4/