jQueryによるブラウザ判定
- 投稿日 : 2012-01-31, 16:37
- 最終更新日時 : 2012-09-14 15:04:32(履歴)
- タグ(jQuery)
- カテゴリ(Javascript)
- 記し人(luvsic)[PDF]
- 閲覧数(8336)
jQueryでブラウザ判定するコード
非推奨のjQuery.browserは使わない
/*
* jQuery addClass every browser.
* Version 1.0 (31/01/2012) by Luvsic.
* Version 1.1 (00/00/2012) by .
*
* Examples at: https://luvsic.net/item/154/
* Copyright (c) Luvsic.
*/
jQuery(function(){
if(jQuery.support.checkOn && jQuery.support.noCloneEvent && window.globalStorage) {
$('html').addClass('ff');
} else if(jQuery.support.checkOn && jQuery.support.noCloneEvent && !jQuery.support.noCloneChecked && !jQuery.support.cors) {
$('html').addClass('ie9');
}
else if(jQuery.support.checkOn && jQuery.support.noCloneEvent && !window.globalStorage && !jQuery.support.cors) {
$('html').addClass('opera');
}
else if(jQuery.support.checkOn && jQuery.support.noCloneEvent && !window.globalStorage) {
$('html').addClass('chrome');
}
else if(!jQuery.support.checkOn && jQuery.support.noCloneEvent) {
$('html').addClass('safari');
}
else if(!jQuery.support.opacity) {
if(!jQuery.support.style) {
if (typeof document.documentElement.style.maxHeight != 'undefined') {
$('html').addClass('ie7');
} else {
$('html').addClass('ie6');
}
} else {
$('html').addClass('ie8');
}
} else {
$('html').addClass('unknown-browser');
}
});
IE以外のブラウザがバージョンアップによって判定できなくなる可能性がネックなので、IE判定部分だけ切り出して使うほうが良いのかもしれない、別適用するCSSを書く対象ブラウザによってちょっと考える必要がある。
IE6/7/8のみの判定
jQuery(function(){
if(!jQuery.support.opacity) {
if(!jQuery.support.style) {
if (typeof document.documentElement.style.maxHeight != 'undefined') {
$('html').addClass('ie7');
} else {
$('html').addClass('ie6');
}
} else {
$('html').addClass('ie8');
}
}
});
オリジナルはjQuery.supportでのブラウザ判別 - W3G Blog Tools/Tipsでのnemonemo2010さんのコメントより。
No comments yet