如何确定用户在 JavaScript 中运行的是哪个版本的 IE?

2024-04-16

在一些现有代码中,有一个测试,通过检查对象 Browser.Engine.trident 是否已定义并返回 true 来查看用户是否正在运行 IE。

但如何确定用户运行的是 IE6(或更早版本)还是 IE7(或更早版本)?

JavaScript 函数内部需要进行测试,因此条件注释似乎不合适。


From 更有效地检测 Internet Explorer http://msdn.microsoft.com/en-us/library/ms537509.aspx在msdn:

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    if ( ver >= 6.0 ) 
      msg = "You're using a recent copy of Internet Explorer."
    else
      msg = "You should upgrade your copy of Internet Explorer.";
  }
  alert( msg );
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何确定用户在 JavaScript 中运行的是哪个版本的 IE? 的相关文章

  • 为什么我会收到此 Javascript 错误“连接未定义”?

    我不确定为什么会收到此错误 connection is not defined document getElementById flashTest sendValFromHtml connection value 这是我的代码 functi
  • 使用referrer javascript从google获取查询参数

    是否可以从google搜索中获取查询参数 IE 如果有人用谷歌搜索自行车 网址就会变成 https www google es search q bicycles 如果您随后进入搜索结果并且有人点击您的页面 您将无法看到带有 documen
  • 如何在 Nodejs - mongodb 搜索中对结果进行排序,但是,通过调用动态方法

    我正在 Nodejs 中开发一个 Web 应用程序 通过 mongo 本机连接器连接到 mongodb 在我的一个 js 文件中 我有一个通用方法来调用 find 或 findOne 操作以从 mongodb 集合中检索我需要的任何内容 如
  • Socket.io 如何判断某人何时离开

    我正在使用 socket io 创建一个实时游戏 目前 当有人离开时 什么也不会发生 我想以某种方式通知服务器说谁离开了 有没有办法在用户离开时发出正确的信息 我可以让服务器每 1000 毫秒对每个人执行一次 ping 操作 或者通过其他方
  • 计算div中有多少个元素

    我有一个div 里面有span 有没有一种方法可以计算 div 中有多少个元素 然后将其作为值给出 例如 一个 div 中有 5 个跨度 那么它会对其进行计数并发出警报 5 请使用 JavaScript 谢谢 如果你想要后代的数量 你可以使
  • 如何在 的每四个循环项之后添加

    我想在循环中的每第四个数字项之后退出循环 我想创建一个二十人的名单 在每一个tr应该是4个人 So I want to break from the loop after every 4th number of loop My one tr
  • 将表单传递给 AngularJS 组件进行验证

    我正在将旧代码库迁移到 AngularJS 1 5 所推广的新组件架构 我在对较大的表单执行此操作时遇到了问题 传统上 我会附加表单验证 如下所示
  • 在多个 angular.js 应用程序之间共享单个服务

    我正在构建一个电子商务网站 基于 shopify 并且使用多个小型 angularjs 应用程序来处理诸如快速购物车 愿望清单 过滤产品和其他一些较小项目之类的事情 我最初使用了一个大型应用程序 具有路由和所有内容 但当我没有完整的 RES
  • 使用 Moment.js 从 ISO 字符串中提取 utcOffset

    使用 moment js 我尝试从 ISO 日期字符串中提取偏移量 以便稍后在格式化纪元时间戳时使用该偏移量 以确保时间戳的转换位于同一时区 即使字符串中的偏移量为 0400 结果始终为0 var currentTime 2015 03 1
  • 如何在 Ionic 2 中动态创建具有特定类的模式?

    嗨 我已经被一个问题困扰好几天了 到目前为止还没有研究证明足够 我正在尝试在 Ionic 2 中创建一个具有特定类 或 id 的简单模式 我需要这样简单的东西
  • 检测 JavaScript 版本

    如何检测浏览器支持的 JavaScript 版本 如果有 我想检查 ECMAScript 3 ECMAScript 5 和 ECMAScript 6 注意 我想避免已弃用的language tag 这里有一个很好的参考给你 http www
  • 如何使用谷歌地图检测一个点是否在多边形内部?

    我想检测到google maps LatLng是在一个里面google maps Polygon 我怎样才能做到这一点 Cheers 你可以使用这个谷歌地图V3 google maps geometry poly containsLocat
  • React-Router v5 History.push 不触发组件

    很抱歉朋友们又问这个问题了 我找到了解决这个问题的几个方法 但他们让我很困惑 我只是想问一个优雅的方法来做到这一点 正如你通过标题所理解的 我有一个关于反应路由的问题 让我解释 我有一个按钮 其名称是Login 单击按钮后 我执行了一些逻辑
  • 在javascript中通过window.location传递数据

    我试图通过 window location 传递数据 数据在 del id img album 中可用 我想通过 window location 发送多个值 window location save php type deldownload
  • Immutable.js 推入嵌套对象中的数组

    假设有一个对象 const object foo bar 1 2 3 我需要推动4 to object foo bar array 现在我正在这样做 const initialState Immutable fromJS object co
  • 如何设置第三方 cookie

    我如何设置第三方 cookie 我有要求设置cookie 并且cookie将在访问的网站中启用 就像我在访问cde com或def com或ghi com时在abc com中设置cookie一样 所以设置的cookie将在所有网站上获取 我
  • 添加元数据到快速路线

    有什么方法可以将元数据添加到 Express 的路线中吗 例如 app get some route function req res some meta data 我正在寻找一种针对我的节点应用程序的 AOP 方法 因此我想通过身份验证和
  • Boolean("false") 返回 true..还有其他选择吗?

    我正在使用 jquery 将 true 和 false 字符串写入 data html 属性 但是 当我将 false 写入其中一个属性 然后检查它是否为 false 时 它 会返回 true 我还在网上读到它应该这样做 这真的毫无意义 有
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var
  • 使用 document.getElementsByName() 不起作用?

    第二个警报命令的代码按预期工作 显示元素 to 的值 但第一个警报命令不起作用 它应该做同样的事情 这是为什么

随机推荐

  • 如何shell到另一个应用程序并让它以delphi形式出现

    在 Delphi 中 我多年来一直使用 ShellExecute 来启动 并可选择等待 其他应用程序 但现在 我需要让这些应用程序之一出现在我的 Delphi 应用程序表单之一中 我尝试使用下面的代码作为一个简单的测试来打开记事本 它会这样
  • 制作一个 JPanel 正方形

    如果我有一个包含多个子组件的 JPanel 我该如何制作才能使 JPanel 保持正方形 无论其父组件的大小如何调整 我尝试了以下代码的变体 但它不会导致子组件也是正方形的 public void paint Graphics g if t
  • Pandoc Filter 为链接添加脚注

    我只是想问是否有人知道 Pandoc 的一个简短过滤器 可以自动向任何链接添加脚注 我只想在我的打印文档中有可读的链接源 所以为了指定 我想从 link url 对于类似的东西 link url link url 因此 在打印的 PDF 中
  • 在 ASP Classic 中注释代码

    我所知道的散列代码的方式ASP经典版 http en wikipedia org wiki Active Server Pages is 这是正确的吗 或者还有别的办法吗 使用单引号 例如 This is comment ASP 经典使用V
  • 检测可移动驱动器(例如 USB 闪存驱动器)C/C++

    如何检测可移动磁盘驱动器何时与系统连接 断开 如何获取挂载路径 对于Linux 和驱动器号 对于Windows 编辑 有没有办法检测当前连接的设备 对于 Windows API注册设备通知 http msdn microsoft com e
  • 如何管理视图控制器可能无休止地推送到导航控制器堆栈上的情况? iOS系统

    我有一个由 UINavigationController 组成的应用程序 它从 3 个不同的选项卡推送 ViewController 我预见到的麻烦是当前的结构允许用户无休止地将 VC 添加到堆栈中 我有一个称为药物的选项卡 另一个称为病原
  • 如何在不使用 BOM 且以非 ASCII 字符开头的情况下识别文件的不同编码?

    我在尝试识别不带 BOM 的文件的编码时遇到问题 特别是当文件以非 ASCII 字符开头时 我发现以下两个关于如何识别文件编码的主题 如何在不使用 BOM 的情况下识别不同的编码 https stackoverflow com questi
  • 添加到画布后更改文本

    在fabric js中 我正在制作矩形组和文本字段 然后将其添加到画布中 我正在使用以下代码 但是一旦将文本字段添加到画布中 我可以更改文本字段的文本吗 我做了小提琴请检查 http jsfiddle net HAb4N 5 http js
  • Webflux multipart/form-data,启用 csrf,有或没有文件上传获取无效的 CSRF 令牌

    禁用 csrf 后 我可以上传文件 但我需要启用它 仅当表单 enctype 为 multipart form data 时 即 无效的 CSRF 令牌 为 403 时 才会出现此问题 一般来说 当我将 enctype 设置为 multip
  • Jersey 2.0 和 Moxy 内部服务器错误但没有服务器日志

    我遵循了 Jersey 2 0 文档 https jersey java net documentation latest user guide html json moxy https jersey java net documentat
  • jQuery:Gmail 之星?

    我想知道是否有人有关于创建 Gmail 收件箱明星 最喜欢的 的任何好的教程 EDIT 我想我想创建一些类似于 stackoverflow star 或 gmail inbox star 的东西 我有一组列表项 我在其中添加了多个控件 一个
  • 为什么我无法加载 Nokogiri?

    我通过运行以下命令安装了 Nokogiri 没有任何问题 sudo gem install nokogiri Building native extensions This could take a while Successfully i
  • 如何通过 JSch java api 执行 linux 命令“dzdo su - john”并在该用户上执行一些命令,例如“ls -ltr”

    我想使用 java jsch 库连接到远程 Linux 服务器 并使用命令 dzdo su john 切换到另一个用户 并且我想对该用户执行一些命令 我已经尝试了几种方法来满足这一要求 但我无法做到这一点 任何人都可以提供帮助 public
  • OUTPUT INTO 子句中可以使用哪些列?

    我正在尝试构建一个映射表 将表中新行的 ID 与从中复制的行关联起来 OUTPUT INTO 子句似乎对此很完美 但它的行为似乎并不符合文档 My code DECLARE Missing TABLE SrcContentID INT PR
  • 如何检查淘汰赛中的包含

    我正在使用淘汰赛 我有一个 html 页面 我想在其中检查具有某些值的字符串 就像我有一个字符串 A B C D F G H I 一样 我只想用剔除 if 检查 html 中的这个字符串 模型 var viewModel function
  • Spark SQL 广播哈希连接

    我正在尝试使用 SparkSQL 对数据帧执行广播哈希连接记录在这里 https spark apache org docs latest sql performance tuning html join strategy hints fo
  • 使用参考访问地图[重复]

    这个问题在这里已经有答案了 我尝试循环遍历地图 将其作为指向函数的指针传递 但我找不到访问元素的方法 这是代码 func refreshSession sessions map string Session now time Now for
  • Gradle 任务未显示在 Android Studio 4.2 的 gradle 工具窗口中

    我刚刚将 Android Studio 更新到版本 4 2 我很惊讶在我的项目中没有看到 Gradle 任务 在之前的版本 4 1 3 中 我可以看到如下所示的任务 但现在我只看到4 2版本中的依赖项 我尝试清除 Android Studi
  • 通过phpmailer批量发送邮件

    我正在使用 phpmailer 向我的订阅者发送批量电子邮件 但我面临一个可怕的问题 即当我向订阅者发送电子邮件时 每个订阅者都会多次收到相同的电子邮件 有些人获得了 4 次 有些人获得了 14 次 我正在通过 Mysql 表获取 flag
  • 如何确定用户在 JavaScript 中运行的是哪个版本的 IE?

    在一些现有代码中 有一个测试 通过检查对象 Browser Engine trident 是否已定义并返回 true 来查看用户是否正在运行 IE 但如何确定用户运行的是 IE6 或更早版本 还是 IE7 或更早版本 JavaScript