客户端检测分为三个部分:能力检测、怪癖检测、用户代理检测
能力检测的理想代码:
function isHostMethod(object,property){
var t=typeof object[property];
return t=='function'||(!!(t=='object' && object[property]))||(t=='unknown');
}
怪癖检测代码:
var hasEnumShadowsQuirk=function(){
var o={toString:function(){} };
var count=0;
for(var prop in o){
if(prop == “toString”){
count++;
}
}
return (count>1);
}();
用户代理检测完整代码:
var client=function(){
//呈现引擎
var engine={
ie:0,
gecko:0,
webkit:0,
khtml:0,
opera:0,
//完整的版本号
ver:null
};
//浏览器
var browser={
//主要浏览器
ie:0,
firefox:0,
safari:0,
konq:0,
opera:0,
chrome:0,
//具体的版本号
ver:null
};
//平台设备和操作系统
var system={
win:false,
mac:false,
xll:false,
//移动设备
iphone:false,
ipod:false,
ipad:false,