IE9とIE10のJavaScriptでの違い
基本あまりなくて、色んなサイトで「IE10はIE9の機能追加版」みたいに言われてたけど、
機能追加だけじゃなく、仕様変更の部分もちらほらあるみたいだった。
今の所見つけたのは以下の2点。
- this.documentがundefinedになる
- window.open()の挙動がちょっと違う(未検証)
this.documentがundefinedになる
ちなみにthis.documentとwindow.documentの違いは、
window.open()で開いたウインドウに対する
イベントハンドラー内で参照した場合に違いが出る。
javascriptのDOMスクリプティングにて、「this」を使うケースとして、イベントリスナー内の処理があります。
下記の例で、thisを省いてしまうとobj1とobj2の内容が同じになってしまいます。//ウインドウ1の処理 var obj1 = document.getElementsByTagName('input'); var winsub = window.open(openURL, "", ""); //ロード後イベントリスナーに処理を追加 winsub.addEventListener('load', function () { //ウインドウ2の処理 var obj2 = this.document.getElementsByTagName('input'); //end of event function winsub load },true);DOMスクリプティング this.document とdocumentの違い - とろテク
window.open()の挙動がちょっと違う(未検証)
第2,3引数を指定した場合に違いが出る?
今回は自分のケースと違ってたので詳しくは見てない。
IE 10: Window.open() Javascript method behaves differently in IE 10 browser
javascript - Open link in new tab does not work in IE10 - Stack Overflow