$.support

このエントリーをはてなブックマークに追加

$.supportはブラウザの実装状況に応じて処理を振り分けたい時に利用できるオブジェクトです。

jQueryではブラウザの判別には$.browserではなく$.supportの利用が推奨されています。$.browserではブラウザのUA情報を元にブラウザを判別していますが、UAは簡単に変更できる為、確実にブラウザを判定することが出来ないことや、バージョンアップなどの際にUAの記述規則が変更された際にブラウザの誤検出を起こしてしまう為です。(jQuery 1.9.0より$.browserは廃止されました。)

$.supportでは機能の実装状況を検出します。これはfeature detection(フィーチャーディテクション)と呼ばれる手法です。$.supportの各プロパティには機能の実証状況がtrue/falseで格納されており、以下のように処理を分岐します。

if($.support.ajax){
	//ブラウザがAjaxに対応している場合の処理
}else{
	//ブラウザがAjaxに対応していない場合の処理
}

$.supportで利用できるオブジェクトは次の通りです。

機能 説明
ajax ajaxに対応しているかどうか検出
boxModel W3C CSS Box Modelでページをレンダリングされているか検出(IE6/7が互換モードの場合にfalse)
changeBubbles イベントバブリングに対応しているかどうか検出(IEがfalse)
cssFloat CSSのfloatの値を.cssFloatで取得できるか検出
checkClone コピーする際にチェック状態もコピーするか検出
checkOn チェックボックスの値が指定されていない場合のデフォルト値が「on」であるか検出
deleteExpando 拡張した要素の属性をdelete演算子で削除できるか検出
hrefNormalized getAttribute() で hrefを取得する際に補完するか検出
htmlSerialize innerHTMLで値を取得する際にシリアライズされるか検出
leadingWhitespace innerHTMLで値を取得する際に先頭の空白を取り除くか検出
noCloneEvent 要素をコピーする際にイベントハンドラをコピーするか検出
opacity CSSのopacityプロパティが有効か検出
scriptEval appendChild() やcreateTextNode()を利用した際にscriptが評価されるか検出
style getAttribute(“style”)で要素に記述されたstyle属性値を取得できるか検出
tbody tbody要素が存在しないtable要素を許可するか検出
jQuery 1.3.0での追加/変更

$.supportはjQuery 1.3.0で追加されたオブジェクトです

参考URL

jQuery.support | jQuery API Documentation

登録日 : 2013年04月18日 最終更新日 : 2013年4月18日

同じカテゴリー(Utilities)のエントリー

検索

スポンサードリンク

バージョン

リファレンス