Edgeをとことん追いかける(IE判定編)

Edgeをとことん追いかける(IE判定編)

どうも、さむらいです。
今回は、みんな気になる IE 判定についてCheck it out!
(Edge は IE じゃないことをここで明確にするのだ!)

IE向けのお作法

IE8 では addEventListener でイベントを設定することができません。代わりに attachEvent でイベントを設定していました。Edge はどうでしょう?開発者ツールを開きコンソールで以下のコマンドを入力してみました。

image10

document.body に addEventListener が補完されますね。無事使えそうです。
では、attachEvent はどうか?

image09

候補に出てきません。一安心。

IE9 からは addEventListener でイベントを設定できるようになっているので、その流れは無事に踏襲された様子です。良かった良かった。

attachEvent はもはや闇に葬り去られた過去の遺物です。そんなものを使っているブラウザはサッサと捨て去りましょう。

そして次。IE かどうかは、ActiveXObject の有無でも判定できました。Edge はどうか?以下のコマンドをコンソールから試してみます。

window.ActiveXObject

image01

見事に Undefined です。つまり Edge ではもはや ActiveXObject も利用してはならない(断言)ということですね。負の遺産が減って MS も内心喜んでいるのでは?

では続いて document.documentMode オブジェクトの有無を確認。

image05

やはりありませんね。IE とは違うのだよ、IE とは!というところでしょうか。

そして setProperty メソッド。これはどうか。

image04

いいですねー。ちゃんと実装されています(どんだけ信用ないんだろうか・・MS)

まとめ

ここまでチェックしたところ、Edge 上の JS は Chrome 等と同じように扱っても良さそうな雰囲気です。

まぁ、そもそも Edge がデフォルトで開くページが MSN なので、きっと最新の技術を使っているであろうこのページが上手く開かなかったら、MS なにやってんのwwwって話になるし、きっと動作的には大丈夫なんでしょう。

当社のサービスの管理画面は対象ブラウザを Chrome に限定しているので、実はFireFox では上手く動きません。でも Edge で見てみたところ、一部を除きほぼ正常に動作しました。意外と完成度高いかも?

ということで、今日はここまで。

次回の記事では localStorage と CSS をチェックしていきます!
ではまた!

コメント