HTML里:

HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了。在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各版本浏览器的,在其他浏览器中这些代码都会被解释为Html注释而直接无视掉。
  <body>
  <!--[if IE 6]>
  <div>
  IE6中才可以看到
  </div>
  <![endif]-->
  <div>
  其他
  </div>
  </body>
  所以要想些针对firefox之类的非ie浏览器,需要这么写:<!--[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

怎么在html页面和js里判断是否是IE浏览器相关推荐

  1. JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)

    今天在写一个代码复制功能的时候,发现的这个问题,ie11也不支持document.all,看来以后越来越标准了 今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部 ...

  2. html页面取js里面的值,如何在javascript中获取HTML元素的样式值?

    这个element.style属性只让您知道定义为内联在该元素(以编程方式或在元素的样式属性中定义)中,您应该获得计算样式. 用跨浏览器的方式做它并不容易,IE有自己的方式,通过element.cur ...

  3. 微信h5页面下载app以及判断是否在微信浏览器中

    我是用vue写的项目 html: <div class="btns" @click="down"><h1>点击下载11</h1&g ...

  4. vue如何在一个工程里判断h5还是pc,(利用在一个页面显示不同router-view内容原理,本文只使用于单页面项目,多页面项目请查看我另一篇博文)

    本文只适用于单页面项目,多页面项目请查看我另一篇博文 vue如何在一个工程里显示pc和手机端(适用多页面复杂项目) https://blog.csdn.net/qq_37816525/article/ ...

  5. html判断字段不为空,js里是否为空字符串的判断

    了解下js里是否为空字符串的判断. JavaScript中可以使用if(typeof obj=="undefined"||obj==null||obj=="") ...

  6. js实现判断滚动条滚到页面底部并执行事件的方法

    这里我主要介绍JS实现判断滚动条滚到页面底部并执行事件的方法: 需要了解三个dom元素,分别是:clientHeight.offsetHeight.scrollTop. clientHeight:这个 ...

  7. 如何用js做html页面跳转页面跳转,JS里4种实现页面跳转的方法

    介绍下JS里4种实现页面跳转的方法.window.location.href= 'url': 比较常用的方法,直接跟指定要跳转的地方. window.history.back(-1);: 参见的浏览器 ...

  8. 3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景|判断数组里有没有某对象,有不添加,没有则添加到数组

    3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景 一.当数组中的数据是简单类型时: 应用js中的indexof方法:存在则返回当前项索引,不存在则返回 ...

  9. js if判断多个条件_JS条件判断小技巧(一)

    经常code review,我发现JS newbie很容易写出一堆冗长的代码.今天就列几个比较常见的"解决之道",看看如何减少JS里的条件判断. 提前返回,少用if...else ...

最新文章

  1. 美容院会籍管理,看着简单,其实很复杂
  2. 我们究竟还要学习哪些Android知识?专题解析
  3. codeforces1027D
  4. UIModalPresentationStyle 各种类型的区别
  5. ARC132D-Between Two Binary Strings【贪心】
  6. AtCoder Regular Contest 110 E.Shorten ABC——坑
  7. 使用签名保护基于HTTP的API
  8. 滚动条组件 http://www.w3cfuns.com/notes/15098/96195b77bdbcb601590f67f971770bb8.html
  9. Linux 进程状态 说明
  10. Top10机器学习开源项目发布,历时一个月评出 | 附GitHub地址
  11. 安装Genymotion步骤,启动模拟器时显示CPU不支持虚拟化—解决方法:惠普主机开启VT虚拟化CPU
  12. 台达A2/B2伺服电机编码器改功率软件 台达A2/B2伺服电机编码修改, 用于更换编码器写匹配电机参数
  13. python怎么返回上一行代码_如何返回循环Python中的第一行代码
  14. bochs运行xp_bochs xp镜像下载
  15. winzip15.0注册码
  16. 查看linux当前屏保文件夹,linux下屏保设置
  17. 等额本金VS等额本息
  18. zencart1.55stripe信用卡内嵌支付获取卡号
  19. 面试题----单链表实现栈
  20. 中国人民大学于坤教授:以社会支持体系提升就业力 | 牛客大咖说

热门文章

  1. Python获取环境变量值
  2. python从excel中读取数据
  3. 面面俱到的Java接口自动化测试实战
  4. 网络的可靠性nyoj170
  5. Spring集成Memcached三种方式(一)
  6. Linux(Ubuntu 14.0)
  7. akoj-1153-p次方求和
  8. MySQL保留关键字
  9. Terracotta Express Model 和 Terracotta Customized Model
  10. SQL2005删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”的解决办法...