js浏览器类别检测及操作系统

来源:互联网 发布:徐志摩 云中鹤 知乎 编辑:程序博客网 时间:2024/06/06 07:14
function isHostMethod(object,property){    var t=typeof object[property];    return t=="function" || (!!(t=="object" && object[property])) || t=="unknown";//!!表示返回的是一个布尔值

}

浏览器类别检测及操作系统

var module=(function(){    var a=navigator.userAgent,            bl=/msie (\d+\.\d+)/i,            webkit=/webkit/i,//webkit内核             chrome=/chrome\/(\d+\.\d+)/i,            firefox=/firefox\/(\d+\.\d+)/i,            ope=/opera(\/| )(\d+(\.\d+)?)(.+?(version\/(\d+(\.\d+)?)))?/i,            saf=/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i,            android=/android/i,//是否为安卓系统,            ipad=/ipad/i,            iphone=/iphone/i,            mac=/macintosh/i,            wind=/windows/i,            model=/(nokia|iphone|android|ipad|motorola|^mot\\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i;    var ifIE=bl.test(a),            ifFF=firefox.test(a),            ifCH=chrome.test(a),            ifOP=ope.test(a),            ifSAF=saf.test(a),            ifWEBKIT=webkit.test(a),            isAdroid=android.test(a),            isIphone=iphone.test(a),            isMac=mac.test(a),            isWind=wind.test(a),            isModel=model.test(a);    var my={};    if(ifIE&&a.indexOf("MSIE") > -1){        my.browser="ie";    }    if(ifFF){        my.browser="ff";    }    if(ifCH){        my.browser="chrome";    }    if(ifOP){        my.browser="op";    }    if(ifSAF&& a.indexOf("Chrome") == -1){        my.browser="saf";    }    if( ifWEBKIT){        my.core="webkit";    }    if(isMac){        my.systems="mac";    }    if(isWind){        my.systems="window";    }    if(isAdroid){        my.systems="android";    }    if(isIphone){        my.systems="iphone";    }    if(isModel){        my.platform="mobile";    }    return my;})();

0 0