js navigator对象

Posted 王子乔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js navigator对象相关的知识,希望对你有一定的参考价值。

原文:https://www.cnblogs.com/huyihao/p/6003110.html

Navigator 对象包含有关浏览器的信息。

很多时候我们需要在判断网页所处的浏览器和平台,Navigator为我们提供了便利

Navigator常见的对象属性如下:

属性描述
appCodeName 返回浏览器的代码名。
appMinorVersion 返回浏览器的次级版本。
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言。
cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值。
cpuClass 返回浏览器系统的 CPU 等级。
onLine 返回指明系统是否处于脱机模式的布尔值。
platform 返回运行浏览器的操作系统平台。
systemLanguage 返回 OS 使用的默认语言。
userAgent 返回由客户机发送服务器的 user-agent 头部的值。
userLanguage 返回 OS 的自然语言设置。

我们使用的比较多的是他的userAgent,经常需要判断的情况有:

(1)PC还是移动端

(2)安卓还是ios

(3)浏览器的类型

示例代码:

复制代码
 1 var browser={
 2     versions:function(){
 3         var u = navigator.userAgent, app = navigator.appVersion;
 4         return {         //移动终端浏览器版本信息
 5               trident: u.indexOf(\'Trident\') > -1, //IE内核
 6               presto: u.indexOf(\'Presto\') > -1, //opera内核
 7               webKit: u.indexOf(\'AppleWebKit\') > -1, //苹果、谷歌内核
 8               gecko: u.indexOf(\'Gecko\') > -1 && u.indexOf(\'KHTML\') == -1, //火狐内核
 9               mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
10               ios: !!u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
11               android: u.indexOf(\'Android\') > -1 || u.indexOf(\'Linux\') > -1, //android终端或uc浏览器
12               iPhone: u.indexOf(\'iPhone\') > -1 , //是否为iPhone或者QQHD浏览器
13               iPad: u.indexOf(\'iPad\') > -1, //是否iPad
14               webApp: u.indexOf(\'Safari\') == -1 //是否web应该程序,没有头部与底部
15         };
16     }(),
17     language:(navigator.browserLanguage || navigator.language).toLowerCase()
18 }
复制代码

判断是否移动端

1 if(browser.versions.mobile){
2       console.log(\'我是移动端\');      
3 }

还可以用另一种方式判断

1 var s=document.hasOwnProperty("ontouchstart");//电脑返回false,手机为true
2 console.log(s);

 

判断安卓还是IOS

复制代码
1 if(browser.versions.ios){
2      console.log(\'我是IOS\');
3 }
4 if(browser.version.andriod){
5      console.log(\'我是安卓\');
6 }
复制代码

判断浏览器的类型

复制代码
 1 if(browser.versions.trident){
 2     console.log(\'我是IE\');
 3 }
 4 if(browser.versions.presto){
 5     console.log(\'我是opera\');
 6 }
 7 if(browser.versions.webKit){
 8     console.log(\'我是苹果和谷歌\');
 9 }
10 if(browser.versions.gecko){
11     console.log(\'我是火狐\');
12 }

以上是关于js navigator对象的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

小tips:js中的Navigator对象

js----Navigator对象,查看浏览器信息,Screen对象,查看屏幕信息

一个小功能从js判断ie版本,浅谈navigator对象的appName属性

js代码片段

JS笔记 BOM之Navigator 对象(识别不同的浏览器)