DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> JQuery1.4+ Ajax IE8 內存洩漏問題
JQuery1.4+ Ajax IE8 內存洩漏問題
編輯:JQuery特效代碼     
並且JQuery1.3.2版本不存在,JQuery1.4+版本存在
通過對比,最終找到這兩個版本的其中一個差別
JQuery1.4+在ajax方法增加了一段代碼,用於在abort時調用onreadystatechange方法
代碼如下:
try {
var oldAbort = xhr.abort;
xhr.abort = function() {
if ( xhr ) {
oldAbort.call( xhr );
}
onreadystatechange();
};
} catch(e) { }


經查,正是此段賦值產生了錯誤
onreadystatechange的readyState為4,即成功時,將xhr.abort銷毀
內存洩漏解決
另:如果直接xhr.abort=null,不知道為什麼在IE6下會報錯
只好try…catch一下,反正IE6不修正錯誤與不會有問題

此項問題在IE8中有問題的原因不明
可能是xhr.abort與oldAbort產生了一個閉包?
但為什麼IE6不洩漏?
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved