当前位置: 首页 > news >正文

[Web开发] 检测IE版本号的方法总结

检测浏览器(比如IE)的版本号码是Web 开发最常遇到的问题之一, 以下总结几种检测IE版本号码的方法:

通过Javascript解释浏览器的 User-Agent 字符串:

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 >= 8.0 ) msg = "You're using a recent copy of Internet Explorer." else msg = "You should upgrade your copy of Internet Explorer."; } alert( msg ); }

通过Javascript判断IE渲染引擎的的当前渲染模式:

engine = null; if (window.navigator.appName == "Microsoft Internet Explorer") { // This is an IE browser. What mode is the engine in? if (document.documentMode) // IE8 engine = document.documentMode; else // IE 5-7 { engine = 5; // Assume quirks mode unless proven otherwise if (document.compatMode) { if (document.compatMode == "CSS1Compat") engine = 7; // standards mode } } // the engine variable now contains the document compatibility mode. }

通过ASP.NET 的 HttpBrowserCapabilities 对象:

private float getInternetExplorerVersion() { // Returns the version of Internet Explorer or a -1 // (indicating the use of another browser). float rv = -1; System.Web.HttpBrowserCapabilities browser = Request.Browser; if (browser.Browser == "IE") rv = (float)(browser.MajorVersion + browser.MinorVersion); return rv; } private void Page_Load(object sender, System.EventArgs e) { string msg; double ver = getInternetExplorerVersion(); if (ver > 0.0) { if (ver >= 7.0) msg = "You're using a recent version of Internet Explorer."; else msg = "You should upgrade your copy of Internet Explorer."; } else msg = "You're not using Internet Explorer."; Label1.Text = msg; }

通过HTML的扩展注释语句:

<!--[if gte IE 8]> <p>You're using a recent version of Internet Explorer.</p> <![endif]--> <!--[if lt IE 7]> <p>Hm. You should upgrade your copy of Internet Explorer.</p> <![endif]--> <![if !IE]> <p>You're not using Internet Explorer.</p> <![endif]>

有些方法在之前的blog文章提过

http://blog.csdn.net/WinGeek/archive/2009/02/08/3868150.aspx

http://blog.csdn.net/WinGeek/archive/2009/01/31/3855405.aspx

MSDN参考文章:(1), (2)

相关文章:

  • 你在世界的什么位置?
  • error while unload assembly from GAC assembly is being used by another process
  • ASP.NET中文件上传下载方法集合(上传限制,保存方式-二进制或文件形式,上传Internet上的资源 )...
  • c# change textbox / richtextbox each character size to same size
  • 京东模式靠谱吗?
  • Show Console Window in Windows Application
  • how to break out the nested for loop
  • java直接插入排序(备忘)
  • 能创造永续成长的经营者特质——丰田的文书文化与自主研究文化
  • c# find control in windows form
  • c# set tab page focus
  • 伊朗、委内瑞拉喊出了石油与美元脱钩,中国该怎么做?
  • 资产泡沫的故事
  • get table info by column name
  • 使用ant编译flex的mxml application
  • 【笔记】你不知道的JS读书笔记——Promise
  • CentOS 7 修改主机名
  • Git学习与使用心得(1)—— 初始化
  • Java-详解HashMap
  • PaddlePaddle-GitHub的正确打开姿势
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • python_bomb----数据类型总结
  • SpingCloudBus整合RabbitMQ
  • 服务器之间,相同帐号,实现免密钥登录
  • 开发基于以太坊智能合约的DApp
  • 面试遇到的一些题
  • 使用 Docker 部署 Spring Boot项目
  • 以太坊客户端Geth命令参数详解
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​Java并发新构件之Exchanger
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • ###C语言程序设计-----C语言学习(3)#
  • #13 yum、编译安装与sed命令的使用
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (SpringBoot)第二章:Spring创建和使用
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (生成器)yield与(迭代器)generator
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)关于pipe()的详细解析
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET 动态调用WebService + WSE + UsernameToken
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net分布式压力测试工具(Beetle.DT)
  • .net开发引用程序集提示没有强名称的解决办法
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .NET应用架构设计:原则、模式与实践 目录预览
  • /etc/sudoer文件配置简析
  • @EventListener注解使用说明
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • []T 还是 []*T, 这是一个问题