浏览器和屏幕信息
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 小程序时返回true
cookieEnabled
:如果浏览器可以保存永久 Cookie 时返回true
Screen 对象
Window 对象的 screen
属性引用的是 Screen 对象,它提供有关窗口显示的大小和可用的颜色数量的值。其包含的常用属性有:
width
:窗口宽度(单位:像素)height
:窗口高度(单位:像素)availWidth
:实际可用显示宽度availHeight
:实际可用显示高度colorDepth
:显示的BPP值
No Comments