【问题标题】:How to exclude Ie9 or higher version from the test?如何从测试中排除 Ie9 或更高版本?
【发布时间】:2012-12-20 19:14:34
【问题描述】:

我在页面中添加了以下 javascript,因为当文本过长时,某些下拉列表不会在 IE 中显示全部内容。

$(".dropdown").mousedown(function () {
    if ($.browser.msie) {
        //Do something
    }
});

现在我已经解决了这个问题,我才意识到 IE9 没有这个问题。那么如何从上述测试中排除 IE9 或更高版本?

感谢您的帮助

【问题讨论】:

  • 您根本不应该进行浏览器测试。请改用特征检测
  • 在条件 cmets 中加载您的脚本文件。

标签: jquery internet-explorer-9


【解决方案1】:
if ($.browser.msie && parseInt($.browser.version, 10) < 9) {
    // your code here for IE < 9
}

更新

$.browser 已弃用。

确保您的代码仅在IE

<!--[if lt IE 9]>
    <script src="path-to-js.js" type="text/javascript"></script>
<![endif]-->

【讨论】:

  • @JayBlanchard :哇,从来没有意识到这一点。谢谢,更新了答案。
【解决方案2】:

您可以在页面的 HEAD 中执行此操作:

<!--[if gt IE 8]>
<script src="myscript.js"></script>
<![endif]-->

【讨论】:

    【解决方案3】:

    $.browser 有另一个名为 version 的属性,用它来检测正在使用的版本。

    console.log($.browser.version)
    

    你真的不应该使用$.browser,它在jQuery的下一个版本(1.9和2.0)中消失了。

    【讨论】:

      【解决方案4】:

      使用 jQuery:

      if ($.browser.msie  && parseInt($.browser.version, 10) > 9) {
          //exclude
      }
      

      这里是纯 Javascript 中的相同方法:

      <script>
      
          function getIEVersion() {
              var rv = -1; // Return value assumes failure.
              if (navigator.appName == 'Microsoft Internet Explorer') {
                  var ua = navigator.userAgent;
                  var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
                  if (re.test(ua) != null)
                      rv = parseFloat( RegExp.$1 );
              }
              return rv;
          }
      
      
          function checkVersion() {
              var ver = getIEVersion();
      
              if ( ver != -1 ) {
                  if (ver > 9.0) {
                      // do something
                  }
              }
          }
      
          checkVersion();
      
      </script>
      

      但最好的方法是不要使用 UA 嗅探,而是使用像 Modernizr 这样的特征检测。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-17
        • 2015-09-25
        • 1970-01-01
        • 1970-01-01
        • 2021-10-24
        • 2014-03-10
        • 2014-12-05
        相关资源
        最近更新 更多