いまさらながら、古いJQuery(1.8以前)で$.browser.msieとかやっていた人に贈る

2013年8月8日

1.8以前のJQueryでは$.browser.msieという判定でIEとそれ以外の処理を分けていたりしました。

これがJQuery1.9以降は出来なくなります。

ということで、JQuery1.9以降でこのような判定に近い事が出来るかどうかを考えてみます。

まず、JQuery1.9では、browserが削除されます。

それにかわって、supportを使えという感じに書かれています。

このsupportというのは、ブラウザ毎に分けるのでは無く、ブラウザが対応している機能ごと、実装ごとに判定しようというメソッドのようです。

たとえば、$.support.opacityは、opacityによる透明度を指定する機能を実装しているブラウザであればtrueが返ってきます。

このsupportの判定機能を組み合わせて、MSIEであるかを判定してみます。

おおよそ、MSIEを区別する必要性がある場合、IE6IE7IE8を対象にすると思うので

この場合を想定します。

このIE6IE7IE8は、opacityが実装されていないので、この値で判定します。

と言う判定は

で代用可能かと思われます。

アンケート