JS 通过 navigator获取判断浏览器信息
获取浏览器信息需要使用navigator.userAgent 对象 根据获取到的内容判断浏览器信息
亲身测试
navigator.userAgent
IE 11 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.2; rv:11.0) like Gecko
IE11浏览器 已经不能用msic 来判断是否是IE11了 所以需要换另外一种方式
- if (!!window.ActiveXObject || "ActiveXObject" in window)
- alert("IE")
- else
- alert("not IE")
- }
判断IE11
Chrome Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2950.5 Safari/537.36
Chrome浏览器中不知道 为什么会包含 Chrome和Safari 信息 ,我本人电脑上装了这两种浏览器
Safari Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
FireFox Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Opera Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144
但是有些博客上面说明是需要判断 “Opera” ,而且不知道为什么会包含Chrome和Safari的信息在里面
QQ浏览器 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2372.400 QQBrowser/9.5.10551.400
QQ浏览器也包含Chrome和Safrari的信息在理里面。。
其他的浏览器我也没有深入的尝试过。
顺序最好不要改
- function myBrowser(){
- var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
- if (userAgent.indexOf("OPR") > -1||userAgent.indexOf("Opera") > -1) {
- return "Opera"
- }//判断是否Opera浏览器
- else if (userAgent.indexOf("Firefox") > -1) {
- return "FF";
- } //判断是否Firefox浏览器
- else if (userAgent.indexOf("Chrome") > -1){
- return "Chrome";
- }
- else if (userAgent.indexOf("Safari") > -1) {
- return "Safari";
- } //判断是否Safari浏览器
- else{
- //其他
- }
- }
Navigator 对象包含有关浏览器的信息。js就是通过Navigator的属性获取客户端浏览器信息
Navigator 对象属性:
属性
描述
appCodeName 返回浏览器的代码名。
appMinorVersion 返回浏览器的次级版本。
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言。
cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值。
cpuClass 返回浏览器系统的 CPU 等级。
onLine 返回指明系统是否处于脱机模式的布尔值。
platform 返回运行浏览器的操作系统平台。
systemLanguage 返回 OS 使用的默认语言。
userAgent 返回由客户机发送服务器的 user-agent 头部的值。
userLanguage 返回 OS 的自然语言设置。
好像除了IE浏览器 其他浏览器有很多属性 都是undefined
这个是IE 11 的
这个是Chrome的
而且除了IE 11之前的版本 其他的浏览器的名称都是 Netscape
JS 通过 navigator获取判断浏览器信息的更多相关文章
- JAVASCRIPT和JQUERY判断浏览器信息总汇(备忘)
<script type="text/javascript"> //jquery判断浏览器信息 $(function(){ ...
- .Net Web Api——获取client浏览器信息
第一次接触到web api,发现这个东西是REST风格的:---- 微软的web api是在vs2012上的mvc4项目绑定发行的.它提出的web api是全然基于RESTful标准的,全然不同于之前 ...
- 通过navigator.userAgent判断浏览器类型
1.navigator.userAgent返回一个浏览器信息字符串. 2.用到indexOf()方法,查找字符串中是否有指定的浏览器类型. 3. if(navigator.userAgent.inde ...
- java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)
1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...
- 图解js中常用的判断浏览器窗体、用户屏幕可视区域大小位置的方法
有时我们需要获得浏览器窗口或屏幕的大小.窗口下拉框下拉的距离等数据,对应这些需求,js中提供了不少解决方法,只是数量稍多容易混淆它们各自的意义,下面咱们用图例来解释下12个常见对象属性的作用. 其中有 ...
- JS根据日期获取判断星期几
/** * 根据日期字符串获取星期几 * @param dateString 日期字符串(如:2020-05-02) * @returns {String} */ function getWeek(d ...
- js获取浏览器信息及版本(兼容IE)
获取浏览器信息方法有很多种,但是要是兼容ie旧版本就有点麻烦了,因为很多方法在旧版本ie是不支持的,所以ie我做了单独处理,但是目前还有小问题,就是想显示QQ浏览器,搜狗浏览器..这样的,这样还实现不 ...
- JS获取当前浏览器的类型
<script type=“text/javascript”> function isIE(){return navigator.appName.indexOf(“Microsoft In ...
- js怎么判断浏览器类型
<script type=“text/javascript”> function isIE(){return navigator.appName.indexOf(“Microsoft In ...
随机推荐
- Hadoop 管理工具HUE配置-HBase配置
1 前言 首先要陪只好HBase,可以参见http://www.cnblogs.com/liuchangchun/p/4096891.html,完全分布式类似 2 HBase配置 2.1 HUE 配置 ...
- [转]TopShelf 用法
static void Main(string[] args) { { x.Service<SyncData>(s => { s.ConstructUsing(name => ...
- 反射 内省 BeanUtil 综合使用
package com.zsphp.domain; public class User { private String userId; private String userName; privat ...
- oracle表的基本操作
--修改名称rename l_user_info to t_user_info --添加带有约束的表 create table t_user_menu( id number(20) primary k ...
- 服务调用框架DataStrom
根据以前的命名服务,从新构建了下服务框架: 结构模式:c-center-s; 1.服务端: 服务端启动,讲自己的IP,端口注册到注册中心节点(master),然后注册自己的处理类(需要继承对应接口); ...
- C# 通过GUID生成不重复的ID
/// <summary> /// 获得32位字符长度的ID /// </summary> /// <param name="information" ...
- Docker安装ElasticSearch及kibana
什么是Kibana? Kibana 是一个设计出来用于和 Elasticsearch 一起使用的开源的分析与可视化平台,可以用 kibana 搜索.查看.交互存放在Elasticsearch 索引里的 ...
- 提取和匹配线特征的一个demo
一.代码来源: https://github.com/drozdvadym/opencv_line_descriptor 二.依赖包:OpenCV 2.4.9 三.Matching的运行结果截图: 四 ...
- 小程序[publib]:1 request:fail ssl hand shake error 如果用的是阿里云和宝塔那么如下解决
小程序[publib]:1 request:fail ssl hand shake error 如果用的是阿里云和宝塔那么如下解决 宝塔里面的站点SSL右侧的配置(PEM格式) 需要把 阿里云 下载的 ...
- springboot线程池任务调度类 -- ThreadPoolTaskScheduler介绍
springboot中有一个bean,ThreadPoolTaskScheduler,可以很方便的对重复执行的任务进行调度管理:相比于通过java自带的周期性任务线程池ScheduleThreadPo ...