如何在IE6中找到Javascript中的减速

时间:2008-11-18 22:32:05

标签: javascript debugging internet-explorer-6

在IE6中,我的Javascript代码速度有所降低,而且悬停时间明显滞后。它在FF中很好,所以使用firebug并没有那么有用。有哪些工具可以帮助在IE中调试它?

多一点信息:我认为实际上没有任何JS在我正在调整的对象上运行。 (至少我没有投入。)只是css:悬停的东西。另外,我在项目上运行了jquery和dojo,所以谁知道他们在后台做了什么。

6 个答案:

答案 0 :(得分:4)

只是提示“某事”可能是什么......

IE中的

字符串连接是(或者至少在我tested时)非常慢。 Opera在0.2秒后完成,Firefox在4.1秒后完成,而Internet Explorer 7在20分钟后仍然没有完成 !!!

不要这样做:

for (var i=0, i < 200; i++) { s = s + "something";}

相反,暂时使用数组,然后加入它:

var s=[];
for (var i=0; i < 200; i++) s.push("something");
s=s.join("");

答案 1 :(得分:4)

我通常做的是:

var startTime = new Date();
// Lots of heavy code here
console.log("Processing time: ", new Date() - startTime, " ms");

您可以Firebug lite让console.log在浏览器中运行。这使您可以了解代码的任何给定部分执行的时间。

一旦你知道哪个是错误的部分,你可以探索修复它的选项。

答案 2 :(得分:1)

Microsoft Script Debugger,另请参阅IEBlog了解提示

答案 3 :(得分:0)

延迟也可能来自DOM更新。当IE由于DOM更改而需要重新呈现页面时,它可能明显慢于Firefox。通常,当发生这种情况时,光标将冻结。

答案 4 :(得分:0)

鉴于快速的Firefox和缓慢的IE,xpath表达式和事件处理程序(确保获得正确的调用次数,而不是预期数量的10倍)是手动插入计时器的好地方。

答案 5 :(得分:0)

我想我已经找到了任何好奇的人的减速源:我正在使用bgiframe解决IE6选择框z-index问题(discussed elsewhere上的问题)。