這是一個長鏡頭,因爲有不對的地方約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