资讯专栏INFORMATION COLUMN

判断浏览器宿主环境

luqiuwen / 1278人阅读

摘要:最近写了一些东西,需要在或者,以及是否存在于微信内嵌浏览器中,进行不同的操作,感觉这个在平时还是挺常用的,在此分享下对象要进行判断我们需要获取浏览器的相关信息,对象包含有关浏览器的信息,我们可以直接先在控制台输入一下,来看一下。

最近写了一些东西,需要在android或者ios,以及是否存在于微信内嵌浏览器中,进行不同的操作,感觉这个在平时还是挺常用的,在此分享下

navigator对象

要进行判断我们需要获取浏览器的相关信息,navigator对象包含有关浏览器的信息,我们可以直接先在控制台输入一下navigator,来看一下。


从中我们可以得到很多有用的信息
下面列出一些基本使用的
appCodeName 返回浏览器的代码名。
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言。
onLine 返回指明系统是否处于脱机模式的布尔值。
platform 返回运行浏览器的操作系统平台。
userAgent 返回由客户机发送服务器的 user-agent 头部的值。

navigator.userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。


有些人 可能会好奇 为什么 我用的浏览器是谷歌,还会显示 Mozilla?
那是因为appCodeName是一个只读字符串,声明了浏览器的代码名。在所有以Netscape代码为基础的浏览器中,它的值就是"Mozilla"。为了兼容起见,在Microsoft的浏览器中,它的值也是"Mozilla"。
重点到了,下面我们可以通过获取navigator.userAgent后,因为前面说了,这个对象是一个字符串,我们可以使用string.indexOf( searchvalue )的返回结果,来判断当前是否在对应环境中
"Android" 安卓,
"iPhone" ios,
"MicroMessenger" 微信
不过据说 在windows phone上判断微信会有问题 因为手上没有相关设备,没有去测试,加上windows Phone如今的市场占有率几乎可以忽略了。
另外indexOf()方法会区分大小写,这点需要注意,
网上很多人在使用先进行大小写转化

navigator.userAgent.toLowerCase().indexOf("") 

可以按照这种方法先进行小写转化,省的因为输错大小写的关键词影响结果,我一般也是这样在用。

另外onLine 用来判断是否离线,也挺常用的。
通过navigator对象,我们可以根据不同浏览器进行对应的适配,感兴趣的人可以再去看看各个属性的值。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/106271.html

相关文章

  • js中对数据类型的总结及判断数据类型的各种方法及优缺点

    摘要:最常见的判断方法它的官方解释操作符返回一个字符串,表示未经计算的操作数的类型。另外,是判断对象是否属于某一类型,而不是获取的对象的类型。多个窗口意味着多个全局环境,不同的全局环境拥有不同的全局对象,从而拥有不同的内置类型构造函数。 js中的数据类型 js中只有六种原始数据类型和一个Object: Boolean Null Undefined Number String Symbol ...

    voyagelab 评论0 收藏0
  • js 深入 —— 从数据类型到原型链

    摘要:检测数据类型中可以使用操作符来判断数据类型。调用函数时,某个参数未设置任何值,这时就可以传入,表示该参数为空。我们约定普通函数以小写字母开头,构造函数以大写字母开头。五原型以及原型链未完待续 一、数据类型 在javascript中的数据类型可以分为两种类型,基本数据类型和引用数据类型。其中基本数据类型包括String, Number, Boolean,null,undefined,Sy...

    FWHeart 评论0 收藏0
  • 基础回顾-javascript数据类型

    摘要:栈区由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。属性返回对创建此对象的构造函数的引用。所有的和都是宿主对象参考高级程序设计堆和栈的概念和区别全面解析中的数据类型与类型转换 数据类型 数据类型划分 javascript中定义了6中基本数据类型(原始值类型),和一种复杂数据类型(引用类型),所谓复杂类型,其本质是由无序的名值对(key:val...

    codergarden 评论0 收藏0
  • Underscore源码解析(二)

    摘要:本文同步自我得博客最近十几天都在忙毕业论文的事,所以上一次为大家介绍完这个框架的结构或者说是这个框架的设计思路之后就一直没动静了,今天我又满血复活了,让我们继续来探索的源码奥秘吧。 本文同步自我得博客:http://www.joeray61.com 最近十几天都在忙毕业论文的事,所以上一次为大家介绍完underscore这个框架的结构(或者说是这个框架的设计思路)之后就一直没动静了,今...

    骞讳护 评论0 收藏0
  • 阿里云专有宿主机,构建公共云上的专有资源池

    摘要:摘要企业级用户上云又一利器,阿里云发布专有宿主机,轻松构建公共云上的专有资源池,满足企业级用户的多种需求。当前阿里云在提供多款企业级实例规格族外,又相继推出了弹性裸金属实例神龙服务器和专有宿主机等多种物理独享的产品形态供用户选择。 摘要: 企业级用户上云又一利器,阿里云发布专有宿主机,轻松构建公共云上的专有资源池,满足企业级用户的多种需求。 ——企业级用户又一利器,阿里云发布专有宿主机...

    Chiclaim 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<