【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]判断IE版本主要的是获取两个属性,a.当前浏览器名称,b.当前浏览器版本,为此不得不了解navigator对象。先贴代码作为一个初次了解navigator对象的人,对于appName属性(浏览器名

大家好,又见面了,我是你们的朋友全栈君。

判断IE版本主要的是获取两个属性,a.当前浏览器名称b.当前浏览器版本,为此不得不了解navigator对象。

先贴代码

 1 window.onload = function() {
 2   var browser_name = navigator.appName, //获取当前浏览器的名称
 3       browser_version = navigator.appVersion, //获取当前浏览器的平台和版本信息
 4       version_arr = browser_version.split(";"), //将平台版本信息按照;切割成数组
 5       version = version_arr[1].replace(/\s/g, ""); //取上一步数组下标为1的元素,去空格
 6      // console.log(browser_name);
 7      // console.log(browser_version);
 8      // console.log(version_arr);
 9      // console.log(version);
10 
11   if (browser_name == "Microsoft Internet Explorer") { //如果浏览器名称为IE
12     if (version == "MSIE5.0" || version == "MSIE7.0") { //当前IE版本满足其中任意一个执行以下操作
13 
14       alert(“为了您更好的体验,请下载最新的浏览器”);
15     } 
16   } 
17 };

作为一个初次了解navigator对象的人,对于appName属性(浏览器名称),你的直观感觉可能是,使用谷歌浏览器获取的就是chrome,使用QQ浏览器获取的名称就是qqbrowser,不过很可惜,目前appName获取的值只存在两种,一是”Netscape”  (网景),二是“Microsoft Internet Explorer”  (IE)。

就当前浏览器例如谷歌,360,QQ浏览器,搜狗,IE11等,获取的appName均为Netscape根据w3school的说明,此举是便于浏览器之间的兼容性,不过对于互联网发展史有所了解的人都知道,Netscape对于互联网发展的所做出的卓出贡献,所以对于部分网友所言,此举也是出于对Netscape的缅怀之意也挺有道理。

包括IE10及IE以下低版本,appName获取值均为Microsoft Internet Explorer如果你的电脑上安装了IE11按F12调出控制台,使用仿真效果可以模拟各版本IE实际情况,如图:

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

 

 

 

 

 

 

 

 

 

 

 

 

我们可以看看默认的IE11以及IE10部分版本的appName值情况

IE11 appName值

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

 

 

 

 

 

 

 

IE10 appName值

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

IE5 appName值

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

可以看出,版本低于11的IE版本,appName属性均为Microsoft Internet Explorer。(话说网景正是因为IE才落魄,结果现在IE为了兼容,appName居然也为网景了….)

最后简单说说Navigator的appVersion获取版本号属性,一般使用IE10及以下版本,获取的值是这样的

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

包括IE8,IE7等低版本,版本信息格式均为上图,所以在获取版本的方法 上使用了split(“;”)来进行切割,获取下标1的元素即可判断版本。

但需要注意的是,IE11以及当下的主流浏览器版本信息格式并不与上图相同,所以不同浏览器具体抓取方法请根据实际情况去判断。如下图为谷歌的版本信息

【一个小功能】从js判断ie版本,浅谈navigator对象的appName属性[通俗易懂]

大概就写这么多吧,我的第一篇博客文。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155606.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle

    kettle教程(1) 简单入门、kettle简单插入与更新。打开kettle本文要点:Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数…

  • vue项目打包步骤

    vue项目打包步骤vue项目打包终端运行命令npmrunbuild打包成功的标志与项目的改变,如下图:点击index.html,通过浏览器运行,出现以下报错,如图:那么应该如下修改呢?具体步骤如下:1、查看package.js文件的scripts命令2、打开webpack.dev.conf.js文件,找到publicPath:config.dev.assetsPublicPath,按Ctrl点击,跳转到in…

  • 基于HTTP重定向的GSLB工作流程「建议收藏」

    基于HTTP重定向的GSLB工作流程「建议收藏」1.用户向网站的localdns请求域名解析2.localdns向用户返回GSLB设备的ip地址,如果GSLB系统本身有负载均衡,则返回的IP地址就是自身负载均衡后的某台设备的IP地址3.用户向这台GSLB设备发起GET请求,请求该网站的网页的内容.如果网页上有图片,文字,视频则会发起多个HTTP请求4.GSLB设备将综合分析用户ip,内容分布,设备负载,链路状况等实时…

  • CSGO开箱网站大全_开箱网站合法吗

    CSGO开箱网站大全_开箱网站合法吗CSGO国内网页开箱网站大全,CSGO开箱网站推荐官网直达链接优惠码/推广码网站状态incsgocsgogo直接取回skinsdogcsgogo直接取回88skinscsgo直接取回skskinscsgogo直接取回npskinscsgogo直接取回fateskinscsgo直接取回yskins暂无可取回coolkaixiangcsgo直接取回piggycasecsgogo可取回box818.

  • python列表中的所有值转换为字符串,以及列表拼接成一个字符串

    python列表中的所有值转换为字符串,以及列表拼接成一个字符串直接看代码:>>>ls1=[‘a’,1,’b’,2]>>>ls2=[str(i)foriinls1]>>>ls2[‘a’,’1′,’b’,’2′]>>>ls3=”.join(ls2)>>>ls3’a1b2′

  • 字符串分割与拼接「建议收藏」

    字符串分割与拼接「建议收藏」.字符串分割与拼接//@””   空的字符串对象     ——-分割     NSString * ptr = @”I am a man”;     NSArray * array = [ptr componentsSeparatedByString:@” “];//将字符串整体作为分割条件 返回值为NSArray不可变数组     NSMutableArray * array1 = 

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号