本文翻译自:Check if user is using IE

I am calling a function like the one below by click on divs with a certain class. 我通过单击具有特定类的div来调用下面的函数。

Is there a way I can check when starting the function if a user is using Internet Explorer and abort / cancel it if they are using other browsers so that it only runs for IE users ? 有没有一种方法可以在用户启动功能时检查用户是否正在使用Internet Explorer,并在用户使用其他浏览器时中止/取消该功能,以便仅为IE用户运行? The users here would all be on IE8 or higher versions so I would not need to cover IE7 and lower versions. 这里的用户都将使用IE8或更高版本,因此我不需要介绍IE7和更低版本。

If I could tell which browser they are using that would be great but is not required. 如果我能告诉他们使用的是哪种浏览器,那很好,但这不是必需的。

Example function: 示例功能:

$('.myClass').on('click', function(event)
{// my function
});

#1楼

参考:https://stackoom.com/question/1Lukm/检查用户是否正在使用IE


#2楼

You can use $.browser to get name, vendor and version information. 您可以使用$.browser获取名称,供应商和版本信息。

See http://api.jquery.com/jQuery.browser/ 参见http://api.jquery.com/jQuery.browser/


#3楼

You can use the navigator object to detect user-navigator, you don't need jquery for it 您可以使用navigator对象检测用户navigator,而无需使用jquery

<script type="text/javascript">if (/MSIE (\d+\.\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf("Trident/") > -1 ){ // do stuff with ie-users
}</script>

http://www.javascriptkit.com/javatutors/navigator.shtml http://www.javascriptkit.com/javatutors/navigator.shtml


#4楼

Try this if you are using jquery version >=1.9 , 如果您使用的是jquery版本> = 1.9 ,请尝试此操作,

var browser;
jQuery.uaMatch = function (ua) {ua = ua.toLowerCase();var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||/(webkit)[ \/]([\w.]+)/.exec(ua) ||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||/(msie) ([\w.]+)/.exec(ua) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||/(Trident)[\/]([\w.]+)/.exec(ua) || [];return {browser: match[1] || "",version: match[2] || "0"};
};
// Don't clobber any existing jQuery.browser in case it's different
if (!jQuery.browser) {matched = jQuery.uaMatch(navigator.userAgent);browser = {};if (matched.browser) {browser[matched.browser] = true;browser.version = matched.version;}// Chrome is Webkit, but Webkit is also Safari.if (browser.chrome) {browser.webkit = true;} else if (browser.webkit) {browser.safari = true;}jQuery.browser = browser;
}

If using jQuery version <1.9 ($.browser was removed in jQuery 1.9) use the following code instead: 如果使用<1.9的jQuery版本 (在jQuery 1.9中删除了$ .browser),请改用以下代码:

$('.myClass').on('click', function (event) {if ($.browser.msie) {alert($.browser.version);}
});

#5楼

Use below JavaScript method : 使用以下JavaScript方法:

function msieversion()
{var ua = window.navigator.userAgent;var msie = ua.indexOf("MSIE ");if (msie > 0) // If Internet Explorer, return version number{alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));}else  // If another browser, return 0{alert('otherbrowser');}return false;
}

You may find the details on below Microsoft support site : 您可以在下面的Microsoft支持网站上找到详细信息:

How to determine browser version from script 如何通过脚本确定浏览器版本

Update : (IE 11 support) 更新: (IE 11支持)

function msieversion() {var ua = window.navigator.userAgent;var msie = ua.indexOf("MSIE ");if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))  // If Internet Explorer, return version number{alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));}else  // If another browser, return 0{alert('otherbrowser');}return false;
}

#6楼

In Edge the User Agent String has changed. 在Edge中, 用户代理字符串已更改。

/*** detect IEEdge* returns version of IE/Edge or false, if browser is not a Microsoft browser*/
function detectIEEdge() {var ua = window.navigator.userAgent;var msie = ua.indexOf('MSIE ');if (msie > 0) {// IE 10 or older => return version numberreturn parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);}var trident = ua.indexOf('Trident/');if (trident > 0) {// IE 11 => return version numbervar rv = ua.indexOf('rv:');return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);}var edge = ua.indexOf('Edge/');if (edge > 0) {// Edge => return version numberreturn parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);}// other browserreturn false;
}

Sample usage: 用法示例:

alert('IEEdge ' + detectIEEdge());

Default string of IE 10: IE 10的默认字符串:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)

Default string of IE 11: IE 11的默认字符串:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

Default string of Edge 12: Edge 12的默认字符串:

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Default string of Edge 13 (thx @DrCord): Edge 13的默认字符串(thx @DrCord):

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586

Default string of Edge 14: Edge 14的默认字符串:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/14.14300

Default string of Edge 15: Edge 15的默认字符串:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063

Default string of Edge 16: Edge 16的默认字符串:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299

Default string of Edge 17: Edge 17的默认字符串:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134

Default string of Edge 18 (Insider preview): Edge 18的默认字符串(Insider预览):

Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17730

Test at CodePen: 在CodePen上测试:

http://codepen.io/gapcode/pen/vEJNZN http://codepen.io/gapcode/pen/vEJNZN

检查用户是否正在使用IE相关推荐

  1. 检查用户显示器的分辨率

    检查用户显示器的分辨率

  2. 检查用户是否有权限从ABAP里调用C kernel functions

    1.检查用户是否有权限从ABAP里调用C kernel functions 权限对象 S_C_FUNCT. 相关参数说明: PROGRAM: Name of the ABAP/4program tha ...

  3. 如何在redhat8里使用gcc命令_如何使用who命令检查用户登录信息

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本教程主要介绍如何使用who命令检查用户登录信息. 如 ...

  4. linux中检测用户信息的命令是,在Linux系统上检查用户所属组

    Linux 管理员经常进行的一项操作之一:那就是把用户添加到现有组,这是在一些大环境工作的 Linux 管理员日常经常从事的操作之一,所以经常会在 Linux 系统上检查用户所属组,本文就来谈谈这方面 ...

  5. php检查在线用户,php – 检查用户是否在线laravel

    我有列last_activity,其中写入日期最后一个活动用户使用中间件.我如何检查在线用户以及何时注销? 中间件: class LastActivityUser { /** * Handle an ...

  6. linux脚本登录启动失败,在Linux上检查用户登录成功与失败的shell脚本

    在Linux上检查用户登录成功与失败的shell脚本 Linux管理员的典型任务之一是检查Linux系统中成功和失败的登录尝试. 手动验证它们非常困难,因为" /var/log/secure ...

  7. 写一个方法判断一个整数是否为质数_请写一个函数来检查用户提交的数据是否为整数...

    请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制.八进制.十进制.十六进制数字) 1.is_integer 是 is_int() 的别名,是一样的 2.is_int/is_in ...

  8. TB创建公式应用dll失败 请检查用户权限,终极解决方案

    使用TB遇到问题, 编译公式时提示,创建公式应用dll失败,请检查用户权限 尝试了多种方法后最终搞定 将方案整理下,后续有遇到的战友可用参考下 1,权限问题:使用,右键,管理员权限启动 2,登录电脑系 ...

  9. sql integer字置为空_请写一个函数来检查用户提交的数据是否为整数

    请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制.八进制.十进制.十六进制数字) 1.is_integer 是 is_int() 的别名,是一样的 2.is_int/is_in ...

最新文章

  1. andorid手机电脑操作
  2. vm虚拟机下linux安装python_机器人编程01——虚拟机VM安装Ubuntu并配置python开发环境...
  3. 分享一波Kafka面试题答案
  4. bsp模型适用于图计算_CODE V微信简报:光束合成传播算法(BSP)
  5. 王者荣耀10连胜,竟然也有人不相信,猎游大神带菜鸡玩家10连胜
  6. 深入理解 Lua 虚拟机
  7. 第一章:AJAX与jQuery
  8. bootstrap tabale 点击_jquery+bootstrap实现tab切换, 每次切换时都请求数据, 点击提交分别向不同的地址提交数据...
  9. 地图中添加沿线文字标注
  10. c语言if从句输入月份求天数,c语言上机实验题3.doc
  11. 易语言怎么判断文件是否一样_怎么判断自己是否怀孕?
  12. webex java插件_Linux安装Java和Webex
  13. 网上邻居搜索到计算机无法打开,网上邻居无法访问您可能没有权限使用网络资源...
  14. 坦克大战小游戏——新手练习用的
  15. 【ORA-RAC】ORA-15045: ASM file name '+DATA01' is not in reference form
  16. 记录一次浏览器HTTPS“你的连接不是私密连接”错误NET::ERR_CERT_REVOKED
  17. 一致性算法之Raft算法
  18. 团队协作一、onlyoffice协同开发使用
  19. 【190411】VC++ 双摄像头视频监控捕捉程序源代码
  20. [苹果解密]创新是伟大公司诞生的源泉--Apple再度成为美国最大上市公司

热门文章

  1. Windows Shell 学习 3
  2. 实现困境突破:中小企业家的三项修炼
  3. 算法-----------乘积最大子数组(Java版本)
  4. 算法------数组---------存在重复元素
  5. 第十、十一周项目-阅读程序,写出这些程序的运行结果(3)
  6. 好想学python怎么猜人名_猜人名的谜语大全及答案
  7. 互联网思维-标签思维(1)
  8. arcgis python 新建图层组_分享Arcgis中62个常用技巧系列一(前20个技巧)
  9. uniapp启动页,底部虚拟按钮向上闪一下的问题
  10. angular5 清除定时器