IE的条件编译判断版本,遇到问题。
参考文章:https://www.51-n.com/t-4568-1-1.html
用@_jscript_version变量检测IE浏览器版本,代码如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <!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
上面的代码有问题,我修改为如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!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积分~
来为老师/同学的回答评分吧