怎么在html页面和js里判断是否是IE浏览器
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浏览器相关推荐
- JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
今天在写一个代码复制功能的时候,发现的这个问题,ie11也不支持document.all,看来以后越来越标准了 今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部 ...
- html页面取js里面的值,如何在javascript中获取HTML元素的样式值?
这个element.style属性只让您知道定义为内联在该元素(以编程方式或在元素的样式属性中定义)中,您应该获得计算样式. 用跨浏览器的方式做它并不容易,IE有自己的方式,通过element.cur ...
- 微信h5页面下载app以及判断是否在微信浏览器中
我是用vue写的项目 html: <div class="btns" @click="down"><h1>点击下载11</h1&g ...
- vue如何在一个工程里判断h5还是pc,(利用在一个页面显示不同router-view内容原理,本文只使用于单页面项目,多页面项目请查看我另一篇博文)
本文只适用于单页面项目,多页面项目请查看我另一篇博文 vue如何在一个工程里显示pc和手机端(适用多页面复杂项目) https://blog.csdn.net/qq_37816525/article/ ...
- html判断字段不为空,js里是否为空字符串的判断
了解下js里是否为空字符串的判断. JavaScript中可以使用if(typeof obj=="undefined"||obj==null||obj=="") ...
- js实现判断滚动条滚到页面底部并执行事件的方法
这里我主要介绍JS实现判断滚动条滚到页面底部并执行事件的方法: 需要了解三个dom元素,分别是:clientHeight.offsetHeight.scrollTop. clientHeight:这个 ...
- 如何用js做html页面跳转页面跳转,JS里4种实现页面跳转的方法
介绍下JS里4种实现页面跳转的方法.window.location.href= 'url': 比较常用的方法,直接跟指定要跳转的地方. window.history.back(-1);: 参见的浏览器 ...
- 3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景|判断数组里有没有某对象,有不添加,没有则添加到数组
3.js中判断数组中是否存在某个对象/值,判断数组里的对象是否存在某个值 的五种方法 及应用场景 一.当数组中的数据是简单类型时: 应用js中的indexof方法:存在则返回当前项索引,不存在则返回 ...
- js if判断多个条件_JS条件判断小技巧(一)
经常code review,我发现JS newbie很容易写出一堆冗长的代码.今天就列几个比较常见的"解决之道",看看如何减少JS里的条件判断. 提前返回,少用if...else ...
最新文章
- 美容院会籍管理,看着简单,其实很复杂
- 我们究竟还要学习哪些Android知识?专题解析
- codeforces1027D
- UIModalPresentationStyle 各种类型的区别
- ARC132D-Between Two Binary Strings【贪心】
- AtCoder Regular Contest 110 E.Shorten ABC——坑
- 使用签名保护基于HTTP的API
- 滚动条组件 http://www.w3cfuns.com/notes/15098/96195b77bdbcb601590f67f971770bb8.html
- Linux 进程状态 说明
- Top10机器学习开源项目发布,历时一个月评出 | 附GitHub地址
- 安装Genymotion步骤,启动模拟器时显示CPU不支持虚拟化—解决方法:惠普主机开启VT虚拟化CPU
- 台达A2/B2伺服电机编码器改功率软件 台达A2/B2伺服电机编码修改, 用于更换编码器写匹配电机参数
- python怎么返回上一行代码_如何返回循环Python中的第一行代码
- bochs运行xp_bochs xp镜像下载
- winzip15.0注册码
- 查看linux当前屏保文件夹,linux下屏保设置
- 等额本金VS等额本息
- zencart1.55stripe信用卡内嵌支付获取卡号
- 面试题----单链表实现栈
- 中国人民大学于坤教授:以社会支持体系提升就业力 | 牛客大咖说