3

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

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

“专业人士”如何跟踪这一点,例如通过 Firebug(或其他调试器)?

笔记:

我对能够调试和追踪这样的事情的过程更感兴趣,而不是能够阻止它变冷的“包罗万象”的解决方案(例如禁用 Firefox 范围内的页面自动刷新能力) )。

4

2 回答 2

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) 寻找损坏的选择器。您可能无意中将单击事件处理程序附加到整个 DIV 甚至整个文档。

于 2013-09-13T04:30:00.353 回答
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/

于 2013-09-13T05:44:15.933 回答