1. DOM 上のインターフェイスは基本的に同じですが、テストの結果、メソッドが同じであっても、IE では多少の違いがあるものの、mozilla での DOM の方が標準であることがわかりました。 matter
2. イベントモデルに関しては、この点の違いは比較的大きいです。mozilla の
e.target は ie のevent.srcElement と同等ですが、後者は HTML を返します。要素
の間、e.target はノードを返します。つまり、テキスト ノードを含むメソッドは次のようになります。
var trg = e.target;
while(trg.nodeType!=1) trg=trg.parentNode;
e.mozilla では ie と同じです。event.keyCode は、e.layerX、e.layerY、e.pageX、e.pageY...http://fason.nease.net/mozilla/dom/event 部分をチェックアウトできます。
イベントは、IE のattachEvent、detatchEvent に対応する addEventListener、removeEventListener を使用して Mozilla にバインドされます。
3. オブジェクトの場合。 IE4 と互換性を持たせたい場合は、document .all を追加して、
form 要素の参照をより標準にする必要があることを決定します。 var oInput = document.formName.elements["input1" ]
4. XML のアプリケーションの違いはさらに大きく、XML は IE での activex を通じて作成され、mozilla にはこれらのオブジェクトが既に存在します (dom2 サポートが必要です)。
Xmldomdocument: var doc = document.inplementation.createDocument( "","",null)
xmlhttp: var req = new XMLHttpRequest()
5 .innerText は Mozilla ではサポートされていません。そのテキストを取得するには、いくつかの範囲テクニックを使用する必要があります。
6 Mozilla は互換性を保つために DOM メソッド insertBefore を使用できます。
7. Array や Date の一部のメソッドなど、ie と mozilla の間には若干の違いがあります。詳しく言及される。 。 。
2 つの例を記述します。
1. ID によってオブジェクトを取得する場合
function getObjectById(id)
{
if (typeof(id) != "string" || id == "" ) null を返します。
if (document.all) return document.all(id);
if (document.getElementById) return document.getElementById(id); catch(e){ return null;}
}
2. イベントに処理関数をアタッチします
if(document.attachEvent)
window.attachEvent("onresize", function(){reinsert ();});
else
window.addEventListener('resize', function(){reinsert();}, false);
IE では onclick ですが、Firefox NS では onclick であることに注意してください。 click
Submit with script
document.formName.action = "...";
document.formName.submit();
XML を処理するメソッドは使用できないようですmozilla の下
コードをコピーします