IE的条件编译判断版本,遇到问题。

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内核”,如下图所示。

http://img1.sycdn.imooc.com//climg/5d8595810818bc9a00000000.jpg问题出在哪里呢?

正在回答 回答被采纳积分+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,这是为什么呢?

http://img1.sycdn.imooc.com//climg/5d859ea0085218b010860372.jpg【2】版本调到10、9、8、7和5,结果却都显示为IE11,如下图所示。真奇怪。

http://img1.sycdn.imooc.com//climg/5d859ee508d4034710910400.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师