2012年1月10日火曜日

IEが嫌いな理由〜DOM level2の独自仕様...orz〜

おぅふ、IEで動かない
そういうことが何度あっただろうか。
そんな経験を積み重ねいつしかIE嫌いになってました。
DOM level2の仕様で
IEがなぜか独自仕様を展開し、
XMLやHTMLを操作するためのAPIのDOMのlevel2で、
他のブラウザと違っていることがそもそもの原因。
たとえば、
addEventListnerではなく、IEではattachEvent
こんなメジャーなとこですら違ってる。
対処方法として
javascriptファイルの先頭に、
↓↓こんな感じのをしこんで、おくっていうのはどうでしょうか。

var setFloat = ( "styleFloat" in document.getElementsByTagName("body")[0].style ?
               function(element, value) {
                   element.style.styleFloat = value;
               } :
               function(element, value) {
                   element.style.cssFloat = value;
               });
var addEvent = (window.addEventListener ?
               function(element, type, func) {
                   element.addEventListener(type, func, false);
               } :
               function(element, type, func) {
                   element.attachEvent('on' + type, func);
               });
addEvent(window, "load",initializeSelect )
イベントの追加と、cssのfloatの設定について。

0 件のコメント:

コメントを投稿