JS判斷瀏覽器是否支持某一個(gè)CSS3屬性的方法

字號:


    1、引子
    css3的出現(xiàn)讓瀏覽器的表現(xiàn)更加的豐富多彩,表現(xiàn)沖擊最大的就是動(dòng)畫了,在日常書寫動(dòng)畫的時(shí)候,很有必要去事先判斷瀏覽器是否支持,尤其是在寫CSS3動(dòng)畫庫的時(shí)候。比如transition的animation-play-state,就只有部分瀏覽器支持。
    2、檢測方法
    下面的方法可以使用腳本判斷瀏覽器是否支持某一個(gè)CSS3屬性:
    /**
    * 判斷瀏覽器是否支持某一個(gè)CSS3屬性
    * @param {String} 屬性名稱
    * @return {Boolean} true/false
    * @version 1.0
    * @author ydr.me
    * 2014年4月4日14:47:19
    */
    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;
    }
    3、使用方法
    alert(supportCss3('animation-play-state'));,