js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本

 更新时间:2014年05月28日 00:03:19   投稿:mdxy-dxy  
这篇文章主要分享了判断IE、FF、Opera、Safari、Chrome等浏览器和版本的两种方法,需要的朋友可以参考下

因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了

function isIE() { //ie?
      if (!!window.ActiveXObject || "ActiveXObject" in window)
        return true;
      else
        return false;
    }

第一种,只区分浏览器,不考虑版本

复制代码 代码如下:

function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) {
        return "Opera"
    }; //判断是否Opera浏览器
    if (userAgent.indexOf("Firefox") > -1) {
        return "FF";
    } //判断是否Firefox浏览器
    if (userAgent.indexOf("Chrome") > -1){
  return "Chrome";
 }
    if (userAgent.indexOf("Safari") > -1) {
        return "Safari";
    } //判断是否Safari浏览器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
        return "IE";
    }; //判断是否IE浏览器
}

//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
    alert("我是 IE");
}
if ("FF" == mb) {
    alert("我是 Firefox");
}
if ("Chrome" == mb) {
    alert("我是 Chrome");
}
if ("Opera" == mb) {
    alert("我是 Opera");
}
if ("Safari" == mb) {
    alert("我是 Safari");
}

第二种,区分浏览器,并考虑IE5.5 6 7 8

复制代码 代码如下:

function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
    var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
    var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
    if (isIE) {
        var IE5 = IE55 = IE6 = IE7 = IE8 = false;
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        IE55 = fIEVersion == 5.5;
        IE6 = fIEVersion == 6.0;
        IE7 = fIEVersion == 7.0;
        IE8 = fIEVersion == 8.0;
        if (IE55) {
            return "IE55";
        }
        if (IE6) {
            return "IE6";
        }
        if (IE7) {
            return "IE7";
        }
        if (IE8) {
            return "IE8";
        }
    }//isIE end
    if (isFF) {
        return "FF";
    }
    if (isOpera) {
        return "Opera";
    }
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
    alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
    alert("我是 Opera");
}
if (myBrowser() == "Safari") {
    alert("我是 Safari");
}
if (myBrowser() == "IE55") {
    alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
    alert("我是 IE6");
}
if (myBrowser() == "IE7") {
    alert("我是 IE7");
}
if (myBrowser() == "IE8") {
    alert("我是 IE8");
}

下面给出一个判断当前浏览器是IE的JS代码.

原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。 


[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

相关文章

  • JS实现将数据导出到Excel的方法详解

    JS实现将数据导出到Excel的方法详解

    这篇文章主要为大家介绍了JavaScript实现将数据导出到Excel的两种方法详解,文中的示例代码简洁易懂,感兴趣的小伙伴可以动手尝试一下
    2022-06-06
  • JS实现的省份级联实例代码

    JS实现的省份级联实例代码

    这篇文章主要介绍了js下省份级联效果,需要的朋友可以参考一下
    2013-06-06
  • javascript 像素拼图实现代码

    javascript 像素拼图实现代码

    非常不错的像素拼图效果
    2009-04-04
  • JS实现换肤功能的方法实例详解

    JS实现换肤功能的方法实例详解

    这篇文章主要介绍了JS实现换肤功能的方法,结合实例形式分析了javascript针对页面元素属性与样式动态操作相关实现技巧,需要的朋友可以参考下
    2019-01-01
  • 通过javascript实现段落的收缩与展开

    通过javascript实现段落的收缩与展开

    这篇文章主要介绍了通过javascript实现段落的收缩与展开,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • 微信小程序骨架屏的应用与实现步骤详细记录

    微信小程序骨架屏的应用与实现步骤详细记录

    所谓骨架屏就是在页面数据尚未加载前先给用户展示出页面的大致结构,直到请求数据返回后再渲染页面,补充进需要显示的数据内容,这篇文章主要给大家介绍了关于微信小程序骨架屏的应用与实现的相关资料,需要的朋友可以参考下
    2022-05-05
  • js学使用setTimeout实现轮循动画

    js学使用setTimeout实现轮循动画

    这篇文章主要为大家详细介绍了js使用setTimeout实现轮循动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • JS正则表达式封装与使用操作示例

    JS正则表达式封装与使用操作示例

    这篇文章主要介绍了JS正则表达式封装与使用操作,涉及javascript使用正则表达式针对邮箱、手机号、身份证、用户名、中文等简单验证操作技巧,需要的朋友可以参考下
    2019-05-05
  • 如何从零开始利用js手写一个Promise库详解

    如何从零开始利用js手写一个Promise库详解

    ES2015 推出了JS 的 Promise ,而在没有原生支持的时候,我们也可以使用诸如 Promises/A+ 的库的帮助,在我们的代码里实现Promise 的支持,下面这篇文章主要给大家介绍了如何从零开始利用js手写一个Promise库的相关资料,需要的朋友可以参考下。
    2018-04-04
  • javascript中的void运算符语法及使用介绍

    javascript中的void运算符语法及使用介绍

    void是javascript中的一个操作符,void会计算表达式的值,但是会丢弃表达式的返回值接下来将详细介绍下,感兴趣的你可以参考下或许对你有所帮助
    2013-03-03

最新评论