怎么在html页面和js里判断是否是IE浏览器
HTML里:
HTML代碼中,在編寫網(wǎng)頁代碼時,各種瀏覽器的兼容性是個必須考慮的問題,有些時候無法找到適合所有瀏覽器的寫法,就只能寫根據(jù)瀏覽器種類區(qū)別的代碼,這時就要用到判斷代碼了。在HTML代碼中,區(qū)別各種瀏覽器的代碼如下,以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里:
今天在寫一個代碼復制功能的時候,發(fā)現(xiàn)的這個問題,ie11也不支持document.all,看來以后越來越標準了
今天碰到一個奇怪的問題,有一個頁面,想指定用IE瀏覽器打開,在VS開發(fā)環(huán)境沒有問題,但部署到服務器上,即使是用IE打開頁面,還是提示“僅支持IE”,真是暈啊!!
判斷是否IE瀏覽器用的是window.navigator.userAgent,跟蹤這個信息,發(fā)現(xiàn)在開發(fā)環(huán)境,識別為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瀏覽器 }}?
?
?
?
?
原來的函數(shù)寫法:對于新版的ie11已經(jīng)不支持了(用了一下好像不起作用,上面的方法可以用)
?| 1 2 3 4 5 6 | function isIE(){ if (window.navigator.userAgent.indexOf("MSIE")>=1) return true; else return false; } |
ie10及以上不支持ie瀏覽器的判斷了,因為ie11已經(jīng)不支持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; ?} |
轉(zhuǎn)載于:https://www.cnblogs.com/liuyanxia/p/5855760.html
總結(jié)
以上是生活随笔為你收集整理的怎么在html页面和js里判断是否是IE浏览器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动画库Animate.css
- 下一篇: DAY13 Matlab实现图像镜像