文档章节

JavaScript获取浏览器的类型和版本

笨小熊
 笨小熊
发布于 2016/04/13 10:37
字数 495
阅读 78
收藏 1

从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下:

<script type="text/javascript">
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

        //以下进行测试
        if (Sys.ie) document.write('IE: ' + Sys.ie);
        if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
        if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
        if (Sys.opera) document.write('Opera: ' + Sys.opera);
        if (Sys.safari) document.write('Safari: ' + Sys.safari);
</script>

将上述代码封装成一个方法,方法返回Sys对象,Sys对象中封装了浏览器的类型和版本信息,如下:

function getBrowserInfo(){
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/;
    var m = ua.match(re);
    Sys.browser = m[1].replace(/version/, "'safari");
    Sys.ver = m[2];
    return Sys;
}

当需要获取浏览器的类型和版本信息时,就可以使用getBroserInfo方法,如下:

<script type="text/javascript">
        //获取当前的浏览器信息
        var sys = getBrowserInfo();
        //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本
        document.write(sys.browser + "的版本是:" + sys.ver);
</script>

 

完整测试代码如下:

<!DOCTYPE HTML>
<html>
  <head>
    <title>JavaScript获取浏览器类型与版本</title>
    <script type="text/javascript">
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
        (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
        (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
        (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

        //以下进行测试
        if (Sys.ie) document.write('IE: ' + Sys.ie);
        if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
        if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
        if (Sys.opera) document.write('Opera: ' + Sys.opera);
        if (Sys.safari) document.write('Safari: ' + Sys.safari);
    </script>
    <script type="text/javascript">
        function getBrowserInfo(){
            var Sys = {};
            var ua = navigator.userAgent.toLowerCase();
            var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/;
            var m = ua.match(re);
            Sys.browser = m[1].replace(/version/, "'safari");
            Sys.ver = m[2];
            return Sys;
        }
        document.write('<hr/>');
       //获取当前的浏览器信息
       var sys = getBrowserInfo();
       //sys.browser得到浏览器的类型,sys.ver得到浏览器的版本
       document.write(sys.browser + "的版本是:" + sys.ver);
    </script>
  </head>
 
  <body>
  
  </body>
</html>

 

原文可参照:http://www.51xuediannao.com/qd63/index.php/page-2-51-1.html

                    http://www.cnblogs.com/xdp-gacl/p/3926848.html

本文转载自:http://www.cnblogs.com/xdp-gacl/p/3926848.html

笨小熊
粉丝 13
博文 152
码字总数 68269
作品 0
深圳
高级程序员
私信 提问
从零开始学 Web 之 JavaScript(一)JavaScript概述

大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程。此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注。在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间...

fengdaoting
2018/06/03
0
0
jQuery中attr()和prop()方法的一些区别理解

昨天在开发的时候同事帮忙写了一小段JS代码,取数据的时候用到了以前都没用过的的这种形式,后来看了手册才知道在HTML5中可以对元素进行自定义属性。格式类似于,然后可以用JQ中的方法进行存取...

一个向往前端的后端工程师
2018/08/27
0
0
10 个最终编译成 JavaScript 的脚本语言

现代应用程序与简单网站的需求是不同的。但是浏览器是一个具有(大部分)限定技术的平台,JavaScript依然是Web应用程序的核心语言; 任何需要在浏览器中运行的应用程序都必须以该语言(JS)实...

oschina
2017/09/21
3.9K
4
jQuery函数attr()和prop()的区别

在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参数和用法也几乎完全相同。 但不得不说的是,这两个函数的用处却并不相同。下面我们来详细介绍这两个函数之间的区别...

Apirl
2018/05/16
0
0
JavaScriptCore全面解析

本文由云+社区发表 作者:殷源,专注移动客户端开发,微软Imagine Cup中国区特等奖获得者 JavaScript越来越多地出现在我们客户端开发的视野中,从ReactNative到JSpatch,JavaScript与客户端相...

腾讯云加社区
01/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【redis】spring boot利用redis的Keyspace Notifications实现消息通知

前言 需求:当redis中的某个key失效的时候,更新key对应数据在数据库的状态 1、修改redis.conf 安装的redis服务默认是: notify-keyspace-events "",修改成 notify-keyspace-events Ex; 位置...

时刻在奔跑
17分钟前
2
0
IT基础设施中的人工智能可以改变工作的方式

  如今,减少人工智能的宣传和炒作已成为IT领导者的主要工作。提供有关人工智能在何处以及如何将其添加到IT基础设施的深入指南将会提供帮助。   很多技术提供商正在投入巨资,将人工智能...

琴殇的
18分钟前
1
0
vue cli3创建测试打包环境(通过development、production、alpha指定不同的接口地址)

参考地址 前言:项目一般有开发环境,测试环境,生产环境;vue cli内置有开发和生产环境,可以用process.env.NODE_ENV区分,有时候我们和后台同事需要本地连接调试代码,又需要连接测试环境调...

hkaikai
24分钟前
2
0
360安全浏览器龙芯、飞腾、兆芯版

主页https://browser.360.cn/se/linux/ 龙芯 http://down.360safe.com/gc/browser360-cn-stable-10.0.2001.0-1.mips64el.rpm http://down.360safe.com/gc/browser360-cn-stable_10.0.2001.0......

gugudu
24分钟前
44
0
访问JSP时,浏览器显示为

问题: <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param>......

器石_
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部