通过modernizr加载jQuery

时间:2011-06-24 16:33:04

标签: jquery modernizr

刚刚开始一个新的HTML5项目并使用modernizr.js

我注意到在modernizr docs页面上它说你可以使用以下内容:

Modernizr.load([
  {
    load: '//ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js',
    complete: function () {
      if ( !window.jQuery ) {
            Modernizr.load('js/libs/jquery-1.6.1.min.js');
      }
    }
  }
]);

所以在我的HTML中我有这个:

<script src="scripts/modernizr-2.0.6.js"></script>
<script>
Modernizr.load([
    {
        load: 'https://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');
            }
        }
    }
]);
</script>

但是看着萤火虫,没有jquery正在装载。

我错过了一些明显的东西吗?

干杯, 阿迪

3 个答案:

答案 0 :(得分:8)

Modernizr是一个小型的lib,它可以快速加载和执行,是的,它会并行加载脚本,所以使用它是个好主意。关于您的错误,请从网址中删除https:并按示例进行操作。

答案 1 :(得分:1)

由于我遇到了同样的问题而且Adi在这里解决了这个问题,因此Modernizer.load不适用于某些人:

  

Hi ToyDaVirus。原来问题是开发版本没有使用加载器。在评论的顶部是'* Modernizr有一个名为Modernizr.load()的可选(不包括)条件资源加载器,基于Yepnope.js(yepnopejs.com)。要获得包含Modernizr.load()的构建,以及选择要包含的测试,请访问www.modernizr.com/download/'所以只需从那里下载,一切都很好:)

答案 2 :(得分:0)

之前放下以下代码
Modernizr.load([
                {
                    test: Modernizr.mq('(min-device-width: 320px) and (max-device-width: 728px)'),
                    yep : ['mob.css', 'jquery.mobile-1.1.0.css', 'jquery.mobile-1.1.0.js'],
                    nope : 'pc.css'
                }
            ]);

这样你可以加载多个文件,如css,js