IE的条件编译判断版本,遇到问题。
参考文章:https://www.51-n.com/t-4568-1-1.html
用@_jscript_version变量检测IE浏览器版本,代码如下。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IE的条件编译</title> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> </head> <body> <script type="text/javascript"> var IEVersion = 0; /*@ cc_on var IEVersion = @_jscript_version; @*/ if (IEVersion > 0) { if (IEVersion < 11) { alert('IE 11已经发布多年,请停止使用老旧的IE' + IEVersion + '了!'); } else { alert('你使用的是IE 11。'); } } else { alert('当前浏览器不是IE内核。'); console.log(IEVersion); } </script> </body> </html>
以上代码在IE11上运行,结果如下图所示。
为什么会显示“不是IE内核”呢?则明明是IE11。是不是有可能高版本的IE 11不使用Trident内核了呢?于是我把模式更改,把IE10、IE9、IE8、IE7、IE5试了一遍,发现依然显示“不是IE内核”,如下图所示。
问题出在哪里呢?
3
收起
正在回答 回答被采纳积分+1
2回答
一路电光带火花
2019-09-23 11:48:16
兄弟, 参考网上的链接也是有选择的。 你找的这个也太偏了, 你看看这个吧
https://blog.csdn.net/hemeinvyiqiluoben/article/details/79334067
我学习太差被关起来了
2019-09-21 11:55:02
上面的代码有问题,我修改为如下所示:
<!DOCTYPE html> <html> <head> <title>IE的条件编译</title> <meta charset="UTF-8"> </head> <body> <script type="text/javascript"> var IEVersion = 0; /*@cc_on IEVersion = @_jscript_version; @*/ if (IEVersion > 0) { if (IEVersion < 11) { alert('IE 11已经发布多年,请停止使用老旧的IE ' + IEVersion + '!'); } else { alert('你使用的是最新版的IE 11。\nIEVersion = ' + IEVersion); } } else { alert('当前浏览器不是IE内核。\nIEVersion = ' + IEVersion); } </script> </body> </html>
我在IE11上测试,出现了以下两个问题。
【1】在IE11中显示“当前浏览器不是IE内核”,如下图所示。明明是IE11,这是为什么呢?
【2】版本调到10、9、8、7和5,结果却都显示为IE11,如下图所示。真奇怪。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星