LoginSignup
24

More than 5 years have passed since last update.

jQuery1.9以降のIE判別方法

Last updated at Posted at 2013-02-28

jQuery1.9以降では長らく非推奨であった$.browserが無くなるため、以下のようなコードは動かない。

if ($.browser.msie) {
  alert("グヘヘ、きみIEなんだね( ^ω^)");
}

存在しないオブジェクトを辿ろうとしてエラーで処理が止まるから注意。

$.supportを使う

$.browser.msieなどという安直なやり方で条件分岐出来る時代は終わった。
これからは、ブラウザがサポートしている機能の組み合わせで判別するしか無い。

というわけでIE6〜IE9までは以下のコードで分けられる。

if (!$.support.noCloneChecked) {
  alert("お前IEだな!");
}

どこかのブログに「$.support.noCloneEvent」はIE6~9までfalseを返す、みたいなことが書いてあったのだが、それだとIE9はtrueを返すので信じないように。
noCloneCheckedの他にIE6〜IE9までfalseを返してくれるのは「$.support.optSelected」くらいだと思う。
「$.support.cors」も使えそうだが、Operaに反応してしまうらしい。

IE10は?

知らない。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24