浏览器和屏幕信息


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值

点赞 取消点赞 收藏 取消收藏

<< 上一篇: 浏览历史

>> 下一篇: 对话框