当前位置: 首页 > 知识库问答 >
问题:

如何使用JavaScript检测Internet Explorer(IE)和Microsoft Edge?

罗梓
2023-03-14

问题是,我是用记事本++写我的代码,当我在浏览器中运行HTML代码时,检测IE的方法都不起作用。我想问题是我正在用记事本++运行它。我需要能够检测IE,以便基于变量,我可以禁用网站的那个区域。我试过这个:

var isIE10 = false;

if (navigator.userAgent.indexOf("MSIE 10") > -1) {
    // this is internet explorer 10
    isIE10 = true;
   window.alert(isIE10);
}

var isIE = (navigator.userAgent.indexOf("MSIE") != -1);

if(isIE){
    if(!isIE10){
    window.location = 'pages/core/ie.htm';
    }
}

但不管用。如何从记事本++中检测IE?这就是我测试HTML的目的,但我需要一个方法来使用它。

我注意到有人把这个标记为副本,这是可以理解的。我想我没说清楚。我不能使用JQuery答案,所以这不是重复的,因为我要求的是一个普通的JS答案。

是否也有检测Microsoft Edge浏览器的方法?

共有1个答案

丁正阳
2023-03-14

以下是我所知道的检查IE和Edge的最新正确方法:

if (/MSIE 10/i.test(navigator.userAgent)) {
   // This is internet explorer 10
   window.alert('isIE10');
}

if (/MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent)) {
    // This is internet explorer 9 or 11
    window.location = 'pages/core/ie.htm';
}

if (/Edge\/\d./i.test(navigator.userAgent)){
   // This is Microsoft Edge
   window.alert('Microsoft Edge');
}

请注意,您的代码中不需要额外的var isIE10,因为它现在执行非常特定的检查。

此外,请查看此页以获取最新的IE和边缘用户代理字符串,因为此答案可能在某个时候过时:https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx

 类似资料:
  • 问题内容: 我有5个FF,Chrome,IE,Opera和Safari插件/扩展程序。 如何识别用户浏览器并重定向(一旦单击安装按钮)下载相应的插件? 问题答案: 谷歌浏览器可靠检测通常会导致检查用户代理字符串。这种方法不可靠,因为欺骗这个值很简单。 仅在确实需要时才使用浏览器检测方法,例如显示特定于浏览器的安装扩展说明。尽可能使用特征检测。 可靠性分析 在先前的方法依赖于渲染引擎的性质来检测浏览

  • 问题内容: 我们如何使用IE 8调试JavaScript? 在更新到IE 8后,无法使用Visual Studio进行JavaScript调试。 问题答案: 我今天发现,我们现在可以使用IE 8中集成的开发人员工具栏插件来调试Javascript。 单击选项卡右侧工具栏上的 ▼工具 。 选择 开发人员工具 。开发人员工具对话框应打开。 单击对话框中的 脚本 选项卡。 单击 开始调试 按钮。 您可以

  • 问题内容: 如何使用Javascript 检测+ ,+ ? 我需要限制粘贴到我的文本区域中,最终用户不应复制和粘贴内容,用户只能在文本区域中键入文本。 如何实现呢? 问题答案: 我只是出于兴趣而这样做。我同意这是不正确的事情,但我认为它应该是OP的决定......另外,代码可以很容易地扩展到增加功能,而不是把它拿走(如更先进的剪贴板,或+ 触发服务器-端保存)。 还要澄清一下,该脚本需要jQuer

  • 我有FF、Chrome、IE、Opera和Safari的5个插件/扩展。 我如何识别用户浏览器并重定向(一旦一个安装按钮已经被点击)下载相应的插件?

  • 我正在尝试运行一个针对Internet Explorer的TestNG套件。然而,它似乎无法使用CSS定位器在网页上查找元素。我使用@FindAll注释来指定多个定位策略,这些策略对Chrome和Firefox都很有效。以下是我在TestNG失败摘要中看到的错误: org.openqa.selenium.WebDriverExc0019:(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时:

  • 问题内容: 如何使用Android和iPhone的javascript检测长按压力?本机javascript或jquery … 我想要听起来像: 问题答案: 使用“触摸结束”检测长时间触摸的问题是,如果您希望事件在一定时间后触发,则它将无法正常工作。最好在触摸开始时使用计时器,并在触摸结束时清除事件计时器。可以使用以下模式: