JS判斷瀏覽器是否支持某一個CSS3屬性的最佳實踐

css3的出現讓瀏覽器的表現更加的豐富多彩,表現衝擊最大的就是動畫了,在平常書寫動畫的時候,頗有必要去事先判斷瀏覽器是否支持,尤爲是在寫CSS3動畫庫的時候。好比transition的animation-play-state,就只有部分瀏覽器支持。

檢測方法

下面的方法可使用腳本判斷瀏覽器是否支持某一個CSS3屬性:css

/**2017-01-05
    * 判斷瀏覽器是否支持某一個CSS3屬性
    * @param {String} 屬性名稱
    * @return {Boolean} true/false
    * 
*/
     
function supportCss3(style) {
    var prefix = ['webkit', 'Moz', 'ms', 'o'],
    i,
    humpString = [],
    htmlStyle = document.documentElement.style,
    _toHumb = function (string) {
    return string.replace(/-(\w)/g, function ($0, $1) {
    return $1.toUpperCase();
    });
    };
     
    for (i in prefix)
    humpString.push(_toHumb(prefix[i] + '-' + style));
     
    humpString.push(_toHumb(style));
     
    for (i in humpString)
    if (humpString[i] in htmlStyle) return true;
     
    return false;
}

 

使用方法

alert(supportCss3('animation-play-state'));
相關文章
相關標籤/搜索