【一个小功能】从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属性[通俗易懂]

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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 给“小白”图示讲解OFDM的原理

    给“小白”图示讲解OFDM的原理注:本文首发在QQ空间(因为需要同行的熟人们指正)。因QQ的封闭性,这里重贴一次。本文地址:http://blog.csdn.net/madongchunqiu/article/details/18614233  说明:以下文字,灰色为吹水文,黑色为正文,蓝色为采用实际应用中的参数所作的说明。  起因是这样的。时间回到07年底,4G方兴之时,同桌隔壁的隔壁”小白”同学说看不太明白OF…

    2022年6月7日
    59
  • disqualification游戏_ACWING怎么样

    disqualification游戏_ACWING怎么样如下图所示,有一个 # 形的棋盘,上面有 1,2,3 三种数字各 8 个。给定 8 种操作,分别为图中的 A∼H。这些操作会按照图中字母和箭头所指明的方向,把一条长为 7 的序列循环移动 1 个单位。例如下图最左边的 # 形棋盘执行操作 A 后,会变为下图中间的 # 形棋盘,再执行操作 C 后会变成下图最右边的 # 形棋盘。给定一个初始状态,请使用最少的操作次数,使 # 形棋盘最中间的 8 个格子里的数字相同。输入格式输入包含多组测试用例。每个测试用例占一行,包含 24 个数字,表示将初始棋

    2022年8月8日
    7
  • 《MySQL45讲》读书笔记(六):数据库事务概述[通俗易懂]

    《MySQL45讲》读书笔记(六):数据库事务概述[通俗易懂]此文为极客时间:MySQL实战45讲的3、8、18、19节事务相关部分的总结一、事务的启动方式mysql主要有两种事务的启动方式:begin或starttransaction显式启动事

    2022年8月16日
    6
  • 博客园整改之思考_整改思路

    博客园整改之思考_整改思路在博客园写博客写了三年半的时间了,当初为什么会选择在博客园写,我也记不清是什么原因了,或许这大概是缘分吧。今年3月份后半段的时候,博客园突然访问不了了,如今通过搜索资料,仍然发现有部分文章访问不了,

    2022年8月4日
    5
  • Wireshark网络流量分析工具

    Wireshark网络流量分析工具Wireshark网络流量分析工具安装使用yum安装wireshark遇到的问题http://blog.chinaunix.net/uid-11828817-id-2816828.htmlrpm-qawireshark#yuminstall-ywiresharkwireshark-gnome…

    2022年5月24日
    43
  • 怎么git 自己建的服务器_如何搭建自己的git服务器「建议收藏」

    怎么git 自己建的服务器_如何搭建自己的git服务器「建议收藏」前几天在服务器亲自搭建git服务器,之前只是我自学了git的知识,在网上找了很多资料,重装了很多次,都不知道怎么使用,最后自己研究了好几遍,终于把git服务器搭建起来了。但是不知道我这种方法对不对,分享出来,希望大家指正。安装git$yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develperl-dev…

    2022年9月28日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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