- 相關(guān)推薦
JQuery1.4+ Ajax IE8 內(nèi)存泄漏問(wèn)題有那些
JQuery1.4+ Ajax IE8 內(nèi)存泄漏問(wèn)題有那些
并且JQuery1.3.2版本不存在,JQuery1.4+版本存在
通過(guò)對(duì)比,最終找到這兩個(gè)版本的其中一個(gè)差別
JQuery1.4+在ajax方法增加了一段代碼,用于在abort時(shí)調(diào)用onreadystatechange方法
復(fù)制代碼 代碼如下:
try {
var oldAbort = xhr.abort;
xhr.abort = function() {
if ( xhr ) {
oldAbort.call( xhr );
}
onreadystatechange();
};
} catch(e) { }
經(jīng)查,正是此段賦值產(chǎn)生了錯(cuò)誤
onreadystatechange的readyState為4,即成功時(shí),將xhr.abort銷毀
內(nèi)存泄漏解決
另:如果直接xhr.abort=null,不知道為什么在IE6下會(huì)報(bào)錯(cuò)
只好try…catch一下,反正IE6不修正錯(cuò)誤與不會(huì)有問(wèn)題
此項(xiàng)問(wèn)題在IE8中有問(wèn)題的'原因不明
可能是xhr.abort與oldAbort產(chǎn)生了一個(gè)閉包?
但為什么IE6不泄漏?
【JQuery1.4+ Ajax IE8 內(nèi)存泄漏問(wèn)題有那些】相關(guān)文章:
電腦內(nèi)存常見(jiàn)的問(wèn)題有哪些08-25
電腦內(nèi)存常見(jiàn)的問(wèn)題09-30
內(nèi)存故障有什么狀況10-06
內(nèi)存引起的故障有哪些08-29
電腦內(nèi)存常見(jiàn)的問(wèn)題及解決辦法07-14
內(nèi)存故障有什么處理方法08-08
虛擬內(nèi)存出現(xiàn)問(wèn)題的處理方法10-14