ariyasacca

カテゴリ一覧

Biz | SF | Software | tDiary | Web | ゲーム | サバティカル | スポーツ | ミステリ | メタル | 健康 | 投資 | 携帯 | 時事ネタ | 死生観 | 資格 | 雑記
2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|

2009-04-28 (火) [長年日記]

[雑記]IE8 Standards modeはsetAttributeの動きが他のブラウザと揃ってた

1年ちょい前にJavaScriptを勉強し始めた頃にはまったIEのsetAttributeだけど、Internet Explorer8のStandards mode(標準モード)では、他のブラウザと動きが揃っていた。

よって、「IEとそれ以外のブラウザ」といったアバウトな条件で分岐しているようなケースではスクリプトエラーになってしまう。

もしsetAttributeを使ってイベントハンドラを設定することがあったら、document.documentModeを見て、IE8 Standards modeでは、他のブラウザと揃えておく必要がある。

var e = document.getElementById('hoge_link');

if (document.documentMode && document.documentMode >= 8) {
    //他のブラウザと揃える
    e.setAttribute('onclick', 'return false;');
}
else {
    //IE8未満, IE8のIE7モード, Quirksモードの時
    e.setAttribute('onclick', new Function("return false;"));
}

IEも標準仕様を準拠する方向に進んでいるんだなぁと感慨深い反面、どうしてイベントの登録はattachEventに拘り続けるんだろうとか思ったり。

関連日記

本日のツッコミ(全2件) [ツッコミを入れる]
いそい (2009-09-10 (木) 10:23)

探していたことがここで見つかりました。<br>ありがとうございました。

雷悶 (2009-09-10 (木) 22:24)

おー。お役に立てて何よりです。


最近のツッコミ

  1. ウルトラマン (2019-04-18(木)19:22)「声優代節約の為やぞ」
  2. ああああ (2019-03-28(木)15:19)「バージョンは好きにしていいのか。 」
  3. 雷悶 (2019-01-06(日)09:46)「時代はProっしょ~」

参号館  の中の  日記(ariyasacca)

トップ «前の日記(2009-04-27 (月)) 最新 次の日記(2009-04-30 (木))» 編集