Jquery 无法检测 IE 11

标签 jquery internet-explorer-11 browser-detection

刚刚偶然发现一个问题。当尝试使用 Jquery 检测 IE 11(当前正在播出的测试版本)时,结果是“firefox”。相同的代码检测 IE 10。我需要知道用户正在使用什么浏览器才能显示不同的指令。

如果重要的话,我正在 Oracle VirtualBox 中进行测试。操作系统为Win 7。

代码如下:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
var browser = function() { 
if ($.browser.msie) return "ie";
var ua = navigator.userAgent.toLowerCase();
if ($.browser.mozilla/* && /firefox/.test(ua)*/) return "firefox"; 
if (/chrome/.test(ua)) return "chrome";
return /*"#"*/'unknown';
} ();

alert (browser); // This return firefox
alert ($.browser.version); // This returns 11.0 - the CORRECT version of IE
</script>

如您所见,Jquery 可以找到浏览器版本,但不能找到浏览器名称。 知道如何绕过它吗?

最佳答案

最终解决方案:

if (!!navigator.userAgent.match(/Trident\/7\./))
  return "ie";  

我们只能希望发布版本也能发挥同样的作用。

关于Jquery 无法检测 IE 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18684099/

相关文章:

javascript - SVG 中的字体图标在 IE 11 中不起作用

reactjs - 我的React应用未在Internet Explorer中呈现(由于箭头功能)

css - 检测移动设备浏览器,不仅是屏幕宽度

php - 检测 PHP 中的浏览器语言

jQuery On <select> 更改事件未触发

php - php session 关闭后如何重新打开它?

css - 如何在尊重 Internet Explorer 11 中的最大高度继承的同时滚动固定标题下的内容?

asp.net - 为什么在查看浏览器功能时会得到这些奇怪的结果?

javascript - 更改浏览器网址

javascript - 如何使用 JQuery 修改输入的标签