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 星