【问题标题】:Issue loading selecvizr to <=IE8 only using yepnope (modernizr.load)问题仅使用 yepnope (modernizr.load) 将 selecvizr 加载到 <= IE8
【发布时间】:2011-10-01 05:18:48
【问题描述】:

我正在尝试通过 yepnope (Modernizr.load) 加载 selectivizr,但测试命令有问题。目前我已经使用 rgba 破解了它(因为这会影响

代码如下:

  <script>
    yepnope.errorTimeout = 2000;
  Modernizr.load([
    {
      load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
      complete: function () {
        if ( !window.jQuery ) {
              Modernizr.load('scripts/jquery-1.6.1.min.js');
        }
      }
    },
        {
            test : Modernizr.mq(),
            nope : 'scripts/respond.min.js'
        },
        {
            test : Modernizr.rgba,
            nope : 'scripts/selectivizr-min.js'
        }
  ]);
  </script>

我知道在 selectivizr 网站上说你应该像这样加载它:

<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
<![endif]--> 

但这不起作用,因为它在 jquery 完成之前加载。

我也知道有一个ie! yepnope 中的前缀,但我无法确定在何处/如何包含此文件。如果 IE 文件加载 4k selectizr 文件,包含 5k 似乎毫无意义。

任何帮助/指导表示赞赏。

一个

【问题讨论】:

    标签: jquery modernizr yepnope selectivizr


    【解决方案1】:

    只需将条件句添加到 URL 的开头,然后是 !:

    <script>
      // yepnope 1.5.4
      yepnope.errorTimeout = 2000;
      Modernizr.load([
        {
          load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
          complete: function () {
            if ( !window.jQuery ) {
                  Modernizr.load('scripts/jquery-1.6.1.min.js');
            }
          }
        },
            {
                test : Modernizr.mq(),
                nope : 'scripts/respond.min.js'
            },
            {
                load : 'iegt5!ielt9!scripts/selectivizr-min.js'
            }
      ]);
    </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多