JQuery1.4 Ajax IE8 メモリリーク問題_jquery

WBOY
リリース: 2016-05-16 18:18:39
オリジナル
747 人が閲覧しました

そして、JQuery1.3.2 バージョンは存在しませんが、JQuery1.4 バージョンは存在します
比較を通じて、2 つのバージョン間の違いの 1 つが最終的に見つかりました
JQuery1.4 は ajax メソッドにコードを追加しましたアボート中に 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 でエラーが報告されるのかわかりません
試してみる必要があります...キャッチ、とにかく、IE6 がエラーを修正しなければ問題はありません

これ IE8 で問題が発生する理由は不明です
おそらく xhr.abort と oldAbort がクロージャを作成するのでしょうか?
しかし、なぜ IE6 はリークしないのでしょうか?
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート