Skip to content

Instantly share code, notes, and snippets.

@megurock
Last active December 2, 2015 01:28
Show Gist options
  • Save megurock/db34cc0106e868192d62 to your computer and use it in GitHub Desktop.
Save megurock/db34cc0106e868192d62 to your computer and use it in GitHub Desktop.
simple css support test
/**
* CSSが使えるかチェックします。
* @param prop:String CSSプロパティ(ベンダープリフィックスがある場合を考慮)
* @param useVendorPrefix:Boolean ベンダープリフィックスを付けるか(default: false)
* @see http://caniuse.com/#feat=css-transitions
* @return:Boolean 指定のCSSが使える場合trueを返却
*/
function canUseCss(prop, useVendorPrefix) {
var props = [ prop ],
// ベンダープリフィックス
vendorPrefixes = [
'-moz-',
'-webkit-',
'-o-',
'-ms-'
],
// 指定のCSSが使えるか
isSupported = false,
// テスト用に一時的にオブジェクトを作成
$testObj = $('<div id="cssTest" />').appendTo('body');
// ベンダープリフィックスを追加
if (useVendorPrefix) {
$.each(vendorPrefixes, function(i) {
props.push(vendorPrefixes[i] + prop);
});
}
// cssが使えるか判定をします
$.each(props, function(i) {
// $testObjは、指定のCSSが使える場合はundefined以外の値を返します。(空文字の場合もあり)
var prop = props[i];
if ($testObj.css(prop) !== undefined) {
isSupported = true;
return false; // break;
}
});
// テスト用のオブジェクトを削除
$testObj.remove();
// 結果を返却
return isSupported;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment