首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅使用yepnope (modernizr.load)将selecvizr加载到<=IE8时出现问题

仅使用yepnope (modernizr.load)将selecvizr加载到<=IE8时出现问题
EN

Stack Overflow用户
提问于 2011-07-08 19:43:52
回答 1查看 1.5K关注 0票数 3

我正在尝试通过yepnope (Modernizr.load)加载selectivizr,但是在使用测试命令时遇到了问题。目前我已经使用rgba破解了它(因为这会影响<=IE8),但它也会影响旧的Opera和FF浏览器,所以不是很理想(看起来很垃圾)

代码如下:

代码语言:javascript
复制
  <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网站上说你应该这样加载它:

代码语言:javascript
复制
<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
<![endif]--> 

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

我也知道有一个ie!yepnope中的前缀,但我想不出在哪里/如何包含这个文件。包含一个5k的if IE文件来加载一个4k的选择器文件似乎是毫无意义的。

如有任何帮助或指导,我将不胜感激。

一个

EN

回答 1

Stack Overflow用户

发布于 2012-11-08 09:12:57

只需在URL的开头添加条件句,后跟一个!:

代码语言:javascript
复制
<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>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6623906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档