糯米文學吧

位置:首頁 > 設計 > 網頁設計

JQuery1.4+ Ajax IE8 內存泄漏問題有那些

  JQuery1.4+ Ajax IE8 內存泄漏問題有那些

並且JQuery1.3.2版本不存在,JQuery1.4+版本存在

JQuery1.4+ Ajax IE8 內存泄漏問題有那些

通過對比,最終找到這兩個版本的.其中一個差別

JQuery1.4+在ajax方法增加了一段代碼,用於在abort時調用onreadystatechange方法

複製代碼 代碼如下:

try {

var oldAbort = t;

t = function() {

if ( xhr ) {

( xhr );

}

onreadystatechange();

};

} catch(e) { }

經查,正是此段賦值產生了錯誤

onreadystatechange的readyState為4,即成功時,將t銷燬

內存泄漏解決

另:如果直接t=null,不知道為什麼在IE6下會報錯

只好try…catch一下,反正IE6不修正錯誤與不會有問題

此項問題在IE8中有問題的原因不明

可能是t與oldAbort產生了一個閉包?

但為什麼IE6不泄漏?