原文: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对象的更多相关文章

  1. js中的navigator对象

    Navigator 对象包含有关浏览器的信息.所有浏览器都支持该对象 在控制台中输出相关信息的代码 <script> console.log(navigator); </script ...

  2. JS中的Navigator 对象

    Navigator 对象包含有关浏览器的信息. 很多时候我们需要在判断网页所处的浏览器和平台,Navigator为我们提供了便利 Navigator常见的对象属性如下: 属性 描述 appCodeNa ...

  3. Js之Navigator对象

    Window对象的navigator属性引用的是包含浏览器厂商和版本信息的Navigator对象.Navigator对象的命名是为了纪念Netscape之后NavigatorBU览器译注2,不过所有其 ...

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

    判断IE版本主要的是获取两个属性,a.当前浏览器名称,b.当前浏览器版本,为此不得不了解navigator对象. 先贴代码 window.onload = function() { var brows ...

  5. JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。

    Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...

  6. js中 navigator 对象

    Navigator 对象包含有关浏览器的信息. 很多时候我们需要在判断网页所处的浏览器和平台,Navigator为我们提供了便利 Navigator常见的对象属性如下: 属性 描述 appCodeNa ...

  7. 浏览器检测navigator 对象

    1.浏览器及版本号不同的浏览器支持的功能.属性和方法各有不同.比如IE 和Firefox 显示的页面可能就会有所略微不同. alert('浏览器名称:' + navigator.appName); a ...

  8. js 基础对象一

    JavaScript 通常用于操作 HTML 元素. Document元素 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页 ...

  9. Javascript高级编程学习笔记(30)—— BOM(4)navigator对象

    window对象作为浏览器的全局对象.location对象保存了页面的url信息 那么navigator对象又有什么作用呢? navigator对象 该对象最早由 Netspace Navigator ...

随机推荐

  1. redis(2)---redis基本数据类型及常见命令

    Redis的魅力 缓存大致可以分为两类,一种是应用内缓存,比如Map(简单的数据结构),以及EH Cache(Java第三方库),另一种就是缓存组件,比如Memached,Redis:Redis(re ...

  2. koltin语言学习(一)——什么是koltin

    转自:Koltin China (一) 介绍 #Kotlin-for-Android-Dev 1. 什么是Kotlin? Kotlin是JetBrains开发的基于JVM的语言.Kotlin是使用Ja ...

  3. 静态属性@property

    property 作用其实把类里面的逻辑给隐藏起来(封装逻辑,让用户调用的时候感知不到你的逻辑) property实例1:class Room: def __init__(self): pass @p ...

  4. Rabbitmq(3) work queues

    轮询分发:每个消费者处理的消息是一样的 公平分发:能者多劳 *****公平分发 生产者 package com.aynu.bootamqp.service; import com.aynu.boota ...

  5. JEECG 新手常见问题大全,入门必读

    大家还有什么问题,请跟帖,谢谢支持..  JEECG常见问题大全 原文地址:http://t.cn/RvYsEF61. jeecg数据库脚本问题   注意:jeecg3.5.2之前版本,不需要数据库脚 ...

  6. css-图片垂直居中

    1. img { vertical-align: middle; }   2. <body> <div> <img src="1.jpg" alt=& ...

  7. Cannot detect Web Project version. Please specify version of Web Project through Maven project property <webVersion>. E.g.: <properties> <webVersion>3.0</webVersion> </properties>

    鼠标放在问题出会出现set web project version to 3.0和set web project version to 3.1两个选项 随便选一个版本就好了

  8. 使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Android对接WebService -- The given SOAPAction http://webservice.ams.cnpc.com/getServerTime does not match an operation.

    问题描述:Chrome Restlet下模拟请求出现如下问题 The given SOAPAction http://webservice.ams.cnpc.com/getServerTime doe ...

  10. RxJava2.0学习笔记2 2018年7月3日 周二

    摘记: 1.map -- 转换  有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...