浏览器对象:navigator 解析

By | April 27, 2020

Navigator对象的属性

navigator.appCodeName

: 浏览器的代码名; 例如:“Mozilla”

浏览器代码名
navigator.appMinorVersion

:浏览器的次级版本

navigator.appName

:浏览器的名称

浏览器的名称
navigator.appVersion

: 浏览器的平台和版本信息;把该字符串传递给

parseInt()

只能获取主版本号。

浏览器的平台和版本信息
浏览器的主版本号
navigator.browserLanguage

:当前浏览器的语言

navigator.cookieEnabled

:指明浏览器中是否启用cookie的布尔值

浏览器中是否启用cookie
navigator.cpuClass

:浏览器系统的CPU等级

navigator.onLine

:指明系统是否处于脱机模式的布尔值

浏览器是否处于脱机模式
navigator.platform

:运行浏览器的操作平台系统

浏览器的操作平台系统
navigator.systemLanguage

:OS使用的默认语言

navigator.userAgent

:由客户机发送服务器的user-agent头部的值

浏览器的user-agent
navigator.userLanguage

:OS的自然语言设置


汇总

windows、iphone、android三大平台的主流浏览器解析

Windows操作系统浏览器系列:

  1. IE浏览器系列
    特征表现:均以 “mozilla/” 开头,”msie x.0;” 中的x表示其版本;
    判断方法:粗略判断可以只检索 “msie x.0;” 字符串即可
  2. Windows版Firefox
    特征表现:以”mozilla/x.0″开头,包含”windows nt”,”gecko/”和”firefox/” ;
    判断方法:粗略判断可以只检索 “firefox/”和”windows nt” 字符串,严格判断可以检索”mozilla/” ,”windows nt”,”gecko/”和”firefox/” 四个字符串;
  3. Windows版Chrome
    特征表现: 以”mozilla/x.0″开头,包含”windows nt”,”chrome/”,同时包含”applewebkit/”,”safari/”;
    判断方法:粗略判断可以只检索 “windows nt”和”chrome/”字符串,严格判断可以同时检索 “mozilla/” ,”windows nt”,”applewebkit/”,”safari/”,”chrome/” 五个字符串;
  4. Windows版Opera
    特征表现:以”opera/”开头,含有”windows nt”,”presto/” 字符串;
    判断方法:粗略判断只检索 “windows nt”和”opera/”字符串,严格判断同时检索 “opera/”,”windows nt” 和 “presto/”;
  5. Windows版Safari
    特征表现:以”mozilla/”开头,同时含有”windows nt”,”applewebkit/”,”safari/”;
    判断方法:粗略判断可以检索含有 “windows nt”,”safari/” 同时不包含 “chrome/”,严格判断需要同时含有”mozilla/”,”windows nt”,”applewebkit/”,”safari/”但是不包含”chrome/”;
    小结:Windows操作系统上的浏览器userAgent均包含”windows nt”字符串来表征windows操作系统。

iPhone平台浏览器系列:

  1. iPhone自带safari
    特征表现:以”mozilla/”开头,含有”iphone”字符串,同时含有 “mobile/”,”safari/”字符串;
    判断方法:粗略判断只检索 “iphone”和”safari/”字符串,严格判断则要同时包含”mozilla/”,”iphone”,”mobile/”,”safari/”四个字符串。
  2. iPhone版Opera Mobile
    特征表现: 以”opera/”开头,含有”iphone”字符串,同时含有 “opera mini/”,”presto/”字符串;
    判断方法:粗略判断只检索 “iphone”和”opera/”字符串,严格判断则要同时包含 “opera/”,”iphone”,”opera mini/”,”presto/”四个字符串 。
    ***小结:iPhone手机上的浏览器userAgent均包含”iphone”字符串 ***

Android平台浏览器系列:

  1. Android自带浏览器
    特征表现: 以”mozilla/”开头,含有”android”和”linux” 字符串,同时含有 “applewebkit/”,”mobile safari/”字符串;
    判断方法:严格判断,检索 “mozilla/”,”android”,”linux”,”applewebkit/”,”mobile safari/”五个字符串.
  2. Android版Opera Mobile
    特征表现: 以”opera/”开头,含有”android”和”linux” 字符串,同时含有 “opera mobi/”,”presto/”字符串;
    判断方法:粗略判断只检索 “android”和”opera/”,严格判断则要同时包含”opera/”,”android”,”linux”,”opera mobi/”,”presto/”五个字符串 .
  3. Android版Firefox
    特征表现:以”mozilla/”开头,含有”android”和”linux” 字符串,同时含有 “firefox/”,”gecko/”,”fennec/”字符串;
    判断方法:粗略判断只检索”android”和”firefox/”,严格判断则要同时包含”mozilla/”,”android”,”linux”,”firefox/”, “gecko/”, “fennec/”六个字符串
    ***小结:Android平台上的浏览器userAgent均包含”android”和”linux”字符串 ***

判断操作系统

  • 含有”windows nt”:显而易见了,windows操作系统,nt后面的版本号可以判断OS版本;
  • 含有”mac”:苹果的Mac OS X或者其他Mac OS内核的系统;
  • 含有”iphone”:苹果iphone手机专有的,一般情况下也应该含有”mac”;
  • 含有”ipad”:苹果iPad平板电脑(资料表明iPad的浏览器userAgent同时含有”mac”,”iphone”,”ipad”);
  • 含有”linux”:Linux操作系统或者其他以linux作为内核的操作系统;
  • 含有”android”:谷歌的Android操作系统,有可能是智能手机,也有可能是安卓版的平板电脑哦,一般情况下android平台上的userAgent也应该包含”linux”;
  • 含有”unix”,”sunos”,”bsd”三者之一:Unix系统,其实对这个系统的用户体验问题,目前几乎可以不用考虑了;
  • 含有”ubuntu”:ubuntu定制版的linux

作者:Remeo
链接:https://www.jianshu.com/p/7eea980cf76a
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Leave a Reply