2011/12/11
JQMDPのIE8対応したんでメモ。
JQMDPをIE8対応して rc1 で公開した。
http://code.google.com/p/jqmdp/downloads/list
IE8 で必要になった修正点をメモ。
window変数がクロージャ内で見えない件は IE9 でも必要だったが、 それ以外は IE9 では修正不要。
IE がほぼ普通のブラウザになったのは喜ばしい事だが XP 非対応なので普及には時間がかかりそう。
当面は IE8 には対応は必須だ orz
- === undefined が効かない
- == null か typeof === "undefined" に変更。
- $.attr(key,val) が jQuery 内でエラー
- $.attr({key:val}) に変更。
- これは jQuery のバグっぽい気がするので将来的には大丈夫かも。
- Array.indexOf が無い
- 毎回忘れるw
- エラーメッセージに indexOf って単語が現れないから気が付くのに時間がかかる注意。
- td で text-align: center; が効かない
- margin: auto; に変更
- window変数がクロージャ内で見えない
- 引数で渡すなりする。
- jQuery でエラー
- jquery-1.6.4.js: 4581行でエラー。
- 原因はDOMのフラグメントが渡った時にトップノードに getAttribute() が無いから
- jquery-1.6.4.jsを変更するならこれで解決。
4585: (elem.getAttribute ? elem.getAttribute( name ) : null),
- jquery-1.6.4.jsを変更できないならこれ
if ($.browser.msie) { var org_ATTR = $.expr.filter.ATTR; $.expr.filter.ATTR = function(elem, match) { try { return org_ATTR(elem, match); } catch (e) { console.error(e); } return false; } }
window変数がクロージャ内で見えない件は IE9 でも必要だったが、 それ以外は IE9 では修正不要。
IE がほぼ普通のブラウザになったのは喜ばしい事だが XP 非対応なので普及には時間がかかりそう。
当面は IE8 には対応は必須だ orz
この投稿へのコメント

コメント・フォーム