Heim > Web-Frontend > js-Tutorial > JQuery1.4+ Ajax IE8 内存泄漏问题_jquery

JQuery1.4+ Ajax IE8 内存泄漏问题_jquery

WBOY
Freigeben: 2016-05-16 18:18:39
Original
778 Leute haben es durchsucht

并且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不泄漏?
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage