JQMDPをIE8対応して rc1 で公開した。
  • http://code.google.com/p/jqmdp/downloads/list
  • IE8 で必要になった修正点をメモ。

    • === 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