这是一个长镜头,因为有不对的地方约eleventy百的事情,但它可能是地方开始。这个脚本代码添加到页面的最后一个:
<script>
function unloadJS() {
var scripts = document.getElementsByTagName("SCRIPT");
for (var index = 0; index < scripts.length - 1; index++)
{
var file = scripts[index].getAttribute("src");
var start = +new Date();
scripts[index].parentNode.replaceChild(document.createElement('script'),
scripts[index]);
var elapsed = +new Date() - start;
alert(file + ": " + elapsed.toString());
}
return false;
}
</script>
此代码试图迫使每个加载网页上的JavaScript文件的卸载,报告的时间才能把它们的量以毫秒为单位。触发此为方便,即在卸载或一个按钮:
<button onclick="return unloadJS()">Go!</button>
这可能无法正常工作/告诉你,你需要知道,因为当脚本断开IE可以拒绝做垃圾回收的。这可能是因为IE真的,当你做到这一点,或者只是因为IE不卸载它们 - 嗯,什么奥狄说:)
在任何情况下,这不是一个解决方案; JS卸载时无关紧要,垃圾收集仍然需要相同的时间。这只是第一次诊断的尝试,就像你所要求的。希望它可以/帮助...
另请参阅:http:// stackoverflow。com/questions/855126 – 2012-02-09 08:30:16
感谢您的建议,我检查了javascript,并且没有电话显示需要很长时间。它看起来像IE中的垃圾收集或类似的东西。 FF和chrome响应迅速。 – 2012-02-09 09:51:46
它只发生在特定的页面B吗? – user123444555621 2012-05-21 16:40:39