浏览器和屏幕信息
Navigator 对象
Window 对象的 navigator 属性引用的是包含浏览器厂商和版本信息的 Navigator 对象,这一命名是为了纪念 Netscape Navigator 浏览器,不过其他的厂商也支持它。
Navigator 对象有四个属性用于提供关于运行中的浏览器的版本信息,并且可以使用这些属性进行浏览器嗅探:
appName:Web浏览器的全称,IE 中就是「Microsoft Internet Explorer」,其它浏览器中都是「Netscape」appVersion:此属性通常以数字开始,并跟着包含浏览器厂商和版本信息的详细字符串userAgent:浏览器在它的 User-Agent 请求头中发送的字符串platform:浏览器所在操作系统字符串
由于非 IE 浏览器的 navigator.appName 返回值都是「Netscape」,这样 appVersion 的起始数字也失去了意义,所以现代浏览器嗅探代码必须要依赖于 navigator.userAgent,下面是通过正则表达式从中抽取浏览器名称和版本号的示例:
var browser = (function () {
var s = navigator.userAgent.toLowerCase();
var match = /(webkit)[ \/]([\w.]+)/.exec(s) ||
/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(s) ||
/(msie) ([\w.]+)/.exec(s) ||
!/compatible/.test(s) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(s) || [];
return {name: match[1] || "", version: match[2] || "0"};
}());
除了浏览器厂商和版本信息属性之外,Navigator 对象还包含了一些其他属性和方法:
onLine:表示浏览器当前是否连接到网络geolocation:Geolocation对象定义用于确定用户位置信息的接口javaEnabled():当浏览器可以运行 Java 小程序时返回truecookieEnabled:如果浏览器可以保存永久 Cookie 时返回true
Screen 对象
Window 对象的 screen 属性引用的是 Screen 对象,它提供有关窗口显示的大小和可用的颜色数量的值。其包含的常用属性有:
width:窗口宽度(单位:像素)height:窗口高度(单位:像素)availWidth:实际可用显示宽度availHeight:实际可用显示高度colorDepth:显示的BPP值
No Comments