2012年12月27日木曜日

ajaxfileupload

2,3年ほど前に作成したサイトで利用していたajaxで画像のアップロード用の
jquery用ライブラリーの「ajaxfileupload」がIE6,IE7,IE8では動作するのに、
IE9では正しく動いていなかったことが発覚:(;゙゚'ω゚'):

ライブラリーの公式サイトを見ると、
最新バージョンでは修正されてるっぽいですが、jqueryのバージョンなどの関係のせいか、
既存のサイトでは正しく動かなかったため、一部抜粋して修正を行いました。

IE9でのエラー内容は次のようになっていました。
SCRIPT5022: DOM Exception: INVALID_CHARACTER_ERR (5) 
ajaxfileupload.js, 行 11 文字17
ライブラリーの修正箇所は次のようにしました。
#11行目付近のこの行を
var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
↓
#ie9 bug fix patch
if ($.browser.msie && $.browser.version=="9.0") {
	var io = document.createElement("iframe");
	io.setAttribute("id", frameId);
	io.setAttribute("name", frameId);
} else {
	var io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />');
}
ъ(゚Д゚)グッジョブ!!
参考URL

0 件のコメント:

コメントを投稿