js判断是否是ie浏览器且给出ie版本

之前懒得写判断ie版本js,因为网上关于这方面的代码太多了,所以从网上拷贝了一个,放到项目上才发现由于时效性的问题,代码不生效。就自己写一个吧。

  1. 怎么去看浏览器的内核等信息 ---- js的全局对象window子属性navigator.userAgent,这个属性是包含了浏览器信息的相关信息,包括我们需要的浏览器内核
  2. navigator.userAgent这个值取出来是个字符串,可以通过string的 indexOf方法或者正则匹配来验证关键字符串
  3. ie11和edge的判断方式有所不同,后面我会给出几个图
  4. 这个是ie11的userAgent
  5. 这个是edge的userAgent
  6. ie9的userAgent
  7. ie8的userAgent
  8. ie10的userAgent

你一定发现了,ie11和edge的userAgent是和ie8,9,10差别蛮大的,那么对用的在写js时需要特别判断,下面给出我写好的一段判断是否是ie且给出ie版本号的js代码段

        function IEVersion() {
            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
            var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
            var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
            var isIE11 = userAgent.indexOf(‘Trident‘) > -1 && userAgent.indexOf("rv:11.0") > -1;
            if(isIE) {
                var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
                reIE.test(userAgent);
                var fIEVersion = parseFloat(RegExp["$1"]);
                if(fIEVersion == 7) {
                    return 7;
                } else if(fIEVersion == 8) {
                    return 8;
                } else if(fIEVersion == 9) {
                    return 9;
                } else if(fIEVersion == 10) {
                    return 10;
                } else {
                    return 6;//IE版本<=7
                }
            } else if(isEdge) {
                return ‘edge‘;//edge
            } else if(isIE11) {
                return 11; //IE11
            }else{
                return -1;//不是ie浏览器
            }
        }

通过调用 IEVersion()可以获得返回值,值如下

值类型 值说明
-1 Number  不是ie浏览器
6 Number ie版本<=6
7 Number ie7
8 Number ie8
9 Number ie9
10 Number ie10
11 Number ie11
‘edge‘ String ie的edge浏览器

原文地址:https://www.cnblogs.com/remember-forget/p/8127172.html

时间: 2024-10-22 14:49:07

js判断是否是ie浏览器且给出ie版本的相关文章

JS判断是否是IE浏览器的几种方式

1.得到浏览器的信息,返回由客户机发送服务器的 user-agent 头部的值. if(navigator.userAgent.indexOf("MSIE 8.0")>0){ IE }else{ 非IE } 注:MSIE 8.0---->IE8浏览器 MSIE 7.0---->IE7浏览器 .............. 2.字节判断 if("\v"=="v") // 这个判断真的只有在IE下才为真,包括IE 8. {IE} el

[JavaScript] js判断是否在微信浏览器中打开

用JS来判断了,经过查找资料终于实现了效果, function is_weixn(){     var ua = navigator.userAgent.toLowerCase();     if(ua.match(/MicroMessenger/i)=="micromessenger") {         return true;     } else {         return false;     } } 通过测试完全通过,无论是android 还是iphone,ipad

JS判断在哪一端浏览器打开

<script src="js/jquery-2.2.3.min.js"></script> <script> var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto

JS判断是否在微信浏览器打开

if (browser.versions.mobile) {//判断是否是移动设备打开.browser代码在下面 var ua = navigator.userAgent.toLowerCase();//获取判断用的对象 if (ua.match(/MicroMessenger/i) == "micromessenger") { //在微信中打开 } if (ua.match(/WeiBo/i) == "weibo") { //在新浪微博客户端打开 } if (ua

js判断是否为ie浏览器

之前在开发时遇到浏览器的兼容性问题,涉及到对ie浏览器的判断.现在此做个笔记. 这里我以函数的形式来判断,在用的时候直接调用即可. var isIE = !!window.ActiveXObject || "ActiveXObject" in window;  //判断是否IE浏览器 function isIE(){ if(isIE){ alert("该浏览器是IE浏览器") }else{ alert("该浏览器非IE浏览器") } } 注意:以

js判断微信内置浏览器

做了一个h5页面来下载app,但如果页面是用微信扫一扫打开的,点击下载按钮下载不了app,原因是微信内置浏览器屏蔽了下载链接.所以增加了检测,如果用户是用微信浏览器打开的,则提示用户使用浏览器打开.那么,如何判断用户是否是用微信浏览器打开的当前页面呢? 通过获取微信内置浏览器的相关信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11

JS判断是否是IE浏览器

if(window.ActiveXObject || "ActiveXObject" in window){ //添加需要的逻辑 } 有时需要根据不同的浏览器做出不同的操作,而IE11又区别于其它IE版本,就可以用上面的判断.

通过js判断微信内置浏览器跳转到外部浏览器打开

在涉及移动端微信推广的项目时,由于对推广需求的精细化,不仅需要推广效率,还有始终保证域名在微信中的正常状态,我们解决方案在微信.QQ.支付宝内置浏览器给出相应的提示. function is_neizhi() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return "weixin"; } else if (u

JS判断页面是在浏览器还是微信打开

一.Navigator对象 1.获取用户的浏览器信息. let ua = navigator.userAgent.toLowerCase(); 打印一下ua的结果: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 //电脑是mac 也可以尝试在不同环境打印出来的值, 2.判断页面是在移动端还是PC端: l