怎么在html页面和js里判断是不是IE浏览器

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,看来之后愈来愈标准了ide

今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部署到服务器上,即便是用IE打开页面,仍是提示“仅支持IE”,真是晕啊!!
判断是否IE浏览器用的是window.navigator.userAgent,跟踪这个信息,发如今开发环境,识别为IE10,但访问服务器则识别为IE11,但IE11的userAgent里是没有MSIE标志的,缘由就是这个了。函数

把判断IE浏览器的方法改为以下就能够了。spa

原来的函数写法:对于新版的ie11已经不支持了firefox

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也是支持的code

1
2
3
4
5
6
function isIE() { //ie?
 if (!!window.ActiveXObject || "ActiveXObject" in window)
  return true;
  else
  return false;
 }
相关文章
相关标签/搜索