IEの自動アップデートでIE6,7など古いブラウザの存在は消えつつありますが
まだクライアントからの要望によってはIE6,7の対応が必要になってしまい、
それによってIEへの振り分け処理などが避けられない状況になることはまだ多々あったりします。
CSSではIEの個別のバージョンに対しての処理は
CSSハック(推奨されませんが)だったりありますが
jQueryで簡単に判別処理する方法もあり、
その記述方法を必要になた時につい忘れてしまうので
ここで自分用メモとして含め紹介してみます。
jQueryでIEを判別して別処理を加える方法
まずはIE全てのバージョンに対して処理を与える方法。
◆IEすべて if($.browser.msie){ ~ 処理 ~ }
jQueryの「$.browser」を使ってIEのUA「msie」を判別して処理します。
次にIE6(以前のバージョン含む)に対して判別して処理を与える方法。
◆IE6 if($.browser.msie && $.browser.version < 7){ ~ 処理 ~ }
IEのUA判別に加えてブラウザのバージョンを見て処理します。
そしてIE6,7に対して判別して処理を与える方法。
◆IE6,7 if($.browser.msie && $.browser.version < 8){ ~ 処理 ~ }
IE6,7,8に対して判別処理するには
◆IE6,7,8 if($.browser.msie && $.browser.version < 9){ ~ 処理 ~ }
といった具合に数値を変化させることによって処理するバージョンを判別させます。
これらはとても簡単で便利に使えるスクリプト処理になりますが
「$.browser」と「$.browser.version」は
jQuery1.3以降はサポート外になってしまっており、後々使用できなくなる可能性もあります。
新たにブラウザの判別は「jQuery.support」を使っての処理を推奨していますが
「$.browser」と「$.browser.version」のように
シンプルに判別させることが出来ず、ちょっと不便な構成になっています。
現時点(jQuery1.7.2)ではまだ「$.browser」も「$.browser.version」も使えているので、
jQueryのバージョンアップごとに様子見つつ使用していく必要もありそうです。
IEを判別して別処理が必要になった際に是非。。。
【参考】
・jQuery.browser
jQuery.browser - jQuery 日本語リファレンス
・jQuery.browser.version
jQuery.browser.version - jQuery 日本語リファレンス
・jQuery.support
jQuery.support - jQuery 日本語リファレンス
※$.browserとjQuery.browser、$.browser.versionとjQuery.browser.versionはそれぞれ同じ意味
jQueryでIEを判別して別処理を加える方法 | BlackFlag | ちゅどん道中記 | 2012.05.16 18:36
[...] | BlackFlag Posted 2012年5月16日 Check jQueryでIEを判別して別処理を加える方法 | BlackFlagIEの自動アップデートでIE6,7など古いブラウザの存在は消えつつありますが [...]