获取浏览器信息需要使用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获取判断浏览器信息的更多相关文章

  1. JAVASCRIPT和JQUERY判断浏览器信息总汇(备忘)

    <script type="text/javascript">        //jquery判断浏览器信息        $(function(){          ...

  2. .Net Web Api——获取client浏览器信息

    第一次接触到web api,发现这个东西是REST风格的:---- 微软的web api是在vs2012上的mvc4项目绑定发行的.它提出的web api是全然基于RESTful标准的,全然不同于之前 ...

  3. 通过navigator.userAgent判断浏览器类型

    1.navigator.userAgent返回一个浏览器信息字符串. 2.用到indexOf()方法,查找字符串中是否有指定的浏览器类型. 3. if(navigator.userAgent.inde ...

  4. java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)

    1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...

  5. 图解js中常用的判断浏览器窗体、用户屏幕可视区域大小位置的方法

    有时我们需要获得浏览器窗口或屏幕的大小.窗口下拉框下拉的距离等数据,对应这些需求,js中提供了不少解决方法,只是数量稍多容易混淆它们各自的意义,下面咱们用图例来解释下12个常见对象属性的作用. 其中有 ...

  6. JS根据日期获取判断星期几

    /** * 根据日期字符串获取星期几 * @param dateString 日期字符串(如:2020-05-02) * @returns {String} */ function getWeek(d ...

  7. js获取浏览器信息及版本(兼容IE)

    获取浏览器信息方法有很多种,但是要是兼容ie旧版本就有点麻烦了,因为很多方法在旧版本ie是不支持的,所以ie我做了单独处理,但是目前还有小问题,就是想显示QQ浏览器,搜狗浏览器..这样的,这样还实现不 ...

  8. JS获取当前浏览器的类型

    <script type=“text/javascript”> function isIE(){return navigator.appName.indexOf(“Microsoft In ...

  9. js怎么判断浏览器类型

    <script type=“text/javascript”> function isIE(){return navigator.appName.indexOf(“Microsoft In ...

随机推荐

  1. 【json】与【枚举】的序列化和反序列化

    参考:Jackson – Deserialization from json to Java enums 问题描述 java中使用枚举时,如果涉及到restful调用,不可避免会涉及到枚举的序列化和反 ...

  2. apache 2.2 和 2.4 访问控制区别 (require 替代 deny)

    apache 2.4权限配置 Order命令已从Apache 2.4中删除 注意:使用require指令时,需要在指令外添加<RequireAll></RequireAll>标 ...

  3. 学习笔记《Java多线程编程实战指南》二

    2.1线程属性 属性 属性类型及用途  只读属性  注意事项 编号(id) long型,标识不同线程  是  不适合用作唯一标识 名称(name) String型,区分不同线程  否  设置名称有助于 ...

  4. 基于IPV6数据包分析(GNS3)

    1:实验拓扑 2:检测路由之间的连通性 路由器R4  ping  各路由器 R1路由表 R4路由表 3:抓包分析 A:回送请求报文(Echo Request)  (128)     Type=128, ...

  5. Redhat Linux 配置Xmanager

    1. vi /etc/inittab id:5:initdefault:  //设置系统运行级为5,如果本来就是5就无需修改 id:5:respawn:/usr/sbin/gdm    //添加到最后 ...

  6. mysql-xtrabackup备份sh: xtrabackup_56: command not found与error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory

    sh: xtrabackup_56: command not foundinnobackupex: fatal error: no 'mysqld' group in MySQL options解决办 ...

  7. oracle查询查询出某字段为空后前台不显示的小测试1

    1.nvl(,''),后台会打印null,前台不显示 2不处理,后台显示null,前台不显示 3.nvl(,' '),后台显示" ",前台显示“ ”

  8. linux上安装mysql5.6

    CentOS-6.6+MySQL-5.6 部署环境操作系统:CentOS-6.6-x86_64-bin-DVD1.isoMySQL 版本:mysql-5.6.26.tar.gz操作用户:root系统 ...

  9. vue项目中icon图标的完美引入

    第一步: 进入阿里矢量图标库并登录 地址:https://www.iconfont.cn 第二步: 选择项目需要的图标添加到库 第三步: 选完之后点击右上角的购物车,打开后点击添加到项目,没有就自己建 ...

  10. 通过SID查找历史执行的SQL语句

    这次某系统发生严重的阻塞,但是去查顶级会话,发现已经没有该对应的sql_id了,于是我们只用通过 v$active_session_history 视图来寻找.下面是查找的过程: 1.查找顶层ASH历 ...