媒介:检测Web客户端的手腕许多,而且各有利弊,但不到万不得已,不要运用客户端检测,只要能找到更通用的要领,就优先运用更通用的要领。
1 才能检测
才能检测的目的不是辨认特定的浏览器,而是辨认浏览器的才能,晓得浏览器醒目什么不醒目什么。才能检测的基本模式以下:
if(object.propertyInQuestion){
//运用object.propertyInQuestion
}
//推断document是不是支撑getelementById要领
if(document.getElementById){
return document.getElementById();
}
2 牢靠的才能检测
假如推断某个对象是不是支撑排序要领,能够运用操作符typeof
function isSortable(object){
return typeof object.sort == "function";
}
在能够的情况下,只管运用typeof举行才能检测,然则并非一切浏览器都邑返回的值都合理。大部分浏览器在检测到document.createElement
存在时,都邑返回ture,然则在IE8及之前的IE版本会返回false。所以运用typeof会比较靠谱。
3 用户代办检测
在每一次HTTP要求过程当中,用户代办字符串是作为相应首部发送的,而且该字符串能被Ja aScript的
navigator.userAgent
接见。
用户字符串中包含大批与浏览器有关的信息,包含浏览器、平台、操作系统及浏览器版本,能够经由过程用户代办字符串来辨认浏览器。