某些東西正在放慢IE6中的JavaScript代碼,以便在懸停時出現顯着的延遲。在FF中沒問題,所以使用螢火蟲不是很有用。有什麼工具可以幫助在IE中進行調試?如何在IE6中的Javascript中查找速度變慢
有點多信息:我不認爲實際上有任何JS運行在我正在移動的對象上。 (至少沒有我輸入。)只是CSS:懸停的東西。另外,我已經在項目中運行了jquery和dojo,所以誰知道他們在後臺做什麼。
某些東西正在放慢IE6中的JavaScript代碼,以便在懸停時出現顯着的延遲。在FF中沒問題,所以使用螢火蟲不是很有用。有什麼工具可以幫助在IE中進行調試?如何在IE6中的Javascript中查找速度變慢
有點多信息:我不認爲實際上有任何JS運行在我正在移動的對象上。 (至少沒有我輸入。)只是CSS:懸停的東西。另外,我已經在項目中運行了jquery和dojo,所以誰知道他們在後臺做什麼。
我想我已經找到了任何人都很好奇的減速的來源:我使用bgiframe來解決IE6選擇框z索引問題(SO上的discussed elsewhere)。
的那個「東西」可能是什麼只是一個提示...
在IE字符串串聯是(或者至少是在我tested)很慢。 Opera 0.2s後完成,Firefox 4.1s和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("");
我最常做的是:
var startTime = new Date();
// Lots of heavy code here
console.log("Processing time: ", new Date() - startTime, " ms");
你可以獲得Firebug lite以使console.log可以跨瀏覽器使用。這給你一個關於你的代碼的任何給定部分需要執行多長時間的想法。
一旦您知道哪些是錯誤的部分,您可以探索修復它的選項。
延遲也可能來自DOM更新。當IE由於DOM更改而需要重新呈現頁面時,它可能明顯比Firefox慢。通常情況下,遊標會在這種情況下凍結。
鑑於快速firefox和慢IE瀏覽器,XPath表達式和事件處理程序(確保你得到正確的數量的電話,而不是預期的數量的10倍)是手動插入定時器的好地方。