スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

XMLHTTP でフリーズ@IE

CATEGORYjavascript
度重なる Internet Explorer のフリーズ
画面が真っ白のままだったり、スクリプトはタイムアウトのエラーを返してきたり。

KB886710 - IEのフリーズ

未だに直ってないらしい >IE
onunload で abort() を呼べば良いらしいけど、書き散らかしたコードがいっぱいあると、直すのも大変。

ActiveXObject のコンストラクタを置き換えてしまう、というのを思いついたのだけれど、全部置き換えちゃうのも影響範囲が見え無くて怖いかな...
(function () {
	try {
		if (! ActiveXObject.tainted) {
			var orig = ActiveXObject
			ActiveXObject = function(className) {
				var obj = new ActiveXObject.original_constructor_(className)
				if (className == "Microsoft.XMLHTTP") {
					attachEvent("onunload", function() {
							try {
								if (obj.readyState != 4) {
									obj.abort()
								}
							} catch (eee) {
								// NOP
							}
						})
				}
				return obj
			}
			ActiveXObject.original_constructor_ = orig
			ActiveXObject.tainted = true
		}
	} catch (e) {
		alert(e.description)
	}
})()

関連記事
スポンサーサイト

XMLHTTPRequest AJAX フリーズ IE javascript

1 Comments

-  

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2013/02/14 (Thu) 18:32 | EDIT | REPLY |   

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。