博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎么在html页面和js里判断是否是IE浏览器
阅读量:6258 次
发布时间:2019-06-22

本文共 2483 字,大约阅读时间需要 8 分钟。

HTML里:

中,在编写时,各种浏览器的是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了。在中,区别各种浏览器的代码如下,以ie6为例

  <!--[if IE 6]>仅IE6可识别<![endif]-->
  <!--[if lte IE 6]> IE6及其以下版本可识别<![endif]-->
  <!--[if lt IE 6]> IE6以下版本可识别<![endif]-->
  <!--[if gte IE 6]> IE6及其以上版本可识别<![endif]-->
  <!--[if gt IE 6]> IE6以上版本可识别<![endif]-->
  <!--[if IE]> 所有的IE可识别<![endif]-->
  以上这些代码写法都是针对ie各版本浏览器的,在其他浏览器中这些代码都会被解释为而直接无视掉。
  <body>
  <!--[if IE 6]>
  <div>
  IE6中才可以看到
  </div>
  <![endif]-->
  <div>
  其他
  </div>
  </body>
  所以要想些针对firefox之类的非,需要这么写:<!--[if !IE]><!--> 除IE外都可识别<!--<![endif]-->

 

js里:

今天在写一个代码复制功能的时候,发现的这个问题,ie11也不支持document.all,看来以后越来越标准了

今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部署到服务器上,即使是用IE打开页面,还是提示“仅支持IE”,真是晕啊!!

判断是否IE浏览器用的是window.navigator.userAgent,跟踪这个信息,发现在开发环境,识别为IE10,但访问服务器则识别为IE11,但IE11的userAgent里是没有MSIE标志的,原因就是这个了。

把判断IE浏览器的方法改成如下就可以了。

ie11和edge的userAgent是和ie8,9,10差别蛮大的,那么对用的在写js时需要特别判断,下面给出我写好的一段判断是否是ie且给出ie版本号的js代码段

function IEVersion() {            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串              var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器              var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器              var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;            if(isIE) {                var reIE = new RegExp("MSIE (\\d+\\.\\d+);");                reIE.test(userAgent);                var fIEVersion = parseFloat(RegExp["$1"]);                if(fIEVersion == 7) {                    return 7;                } else if(fIEVersion == 8) {                    return 8;                } else if(fIEVersion == 9) {                    return 9;                } else if(fIEVersion == 10) {                    return 10;                } else {                    return 6;//IE版本<=7                }               } else if(isEdge) {                return 'edge';//edge            } else if(isIE11) {                return 11; //IE11              }else{                return -1;//不是ie浏览器            }        }

 

 

 

 

 

原来的函数写法:对于新版的ie11已经不支持了(用了一下好像不起作用,上面的方法可以用)

1
2
3
4
5
6
function isIE(){
if (window.navigator.userAgent.indexOf("MSIE")>=1)
return true;
else
return false;
}

ie10及以上不支持ie浏览器的判断了,因为ie11已经不支持document.all了,下面是支持ie11的版本的,当然ie6-8也是支持的

1
2
3
4
5
6
function isIE() { //ie?
 if (!!window.ActiveXObject || "ActiveXObject" in window)
  return true;
  else
  return false;
 }

转载于:https://www.cnblogs.com/liuyanxia/p/5855760.html

你可能感兴趣的文章
俄罗斯调查微软Windows 10防毒软件垄断问题
查看>>
从裁员潮到招聘潮 IBM 要以认知运算迎接另一次转型
查看>>
重庆公厕装免费WiFi 网速达50M
查看>>
《响应式Web设计:HTML5和CSS3实践指南》——1.6节基于媒介查询的动态导航栏
查看>>
《Effective Debugging:软件和系统调试的66个有效方法》——第10条:高效地重现程序中的问题...
查看>>
我眼中的敏捷设计
查看>>
泸州智慧城市建设全面发力 今年内建成VR体验中心
查看>>
为什么我看不懂你的代码
查看>>
《Adobe Acrobat X中文版经典教程》—第1章1.7节在阅读模式下查看PDF文件
查看>>
《数据科学:R语言实现》——1.11 调试函数
查看>>
2014 年 15 款最棒的 HTML&CSS 框架
查看>>
Deepin 与 GitCafe 达成战略合作关系
查看>>
赛思互动:利用数据分析来提高企业绩效管理
查看>>
MyEclipse9安装Checkstyle5.5插件(图解)
查看>>
《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一2.3 服务交付示例...
查看>>
《海外社交媒体营销》一一1.2 更新的信息发布平台,更多的媒体度量手段
查看>>
《ANTLR 4权威指南》——第3章入门的ANTLR项目
查看>>
OSC 源创会年终盛典:极光开启移动广告投放的数据化时代
查看>>
《数字短片创作(修订版)》——合编情节目标
查看>>
谢霆锋爱用的千元铁锅,在天猫国际俘获了一大波潮男
查看>>