2011-08-26 74 views
6

这个想法是加载页面/something/index.html。但是,在我展示它之前,它的依赖项(在这种情况下是CSS和图像)被预加载。我(或应该)如何扩展Modernizr.load()以预加载图像?

Modernizr.load({ 
    load: ['/something/styles.css', '/something/image1.jpg'], 
    complete: showFile 
});

我看过Paul Irish的“imagesLoaded”jQuery插件,但我更喜欢使用我已有的loader的简单性。我知道YepNope(和Modernizr.load)不是设计器的通用预加载器,但我觉得这是最简单的方法。

希望了解如何将图像预加载到Modernizr/YepNope加载脚本中。

NZ

回答

6

在yepnope文件,规定了预紧力!前缀“应该”适用于其他MIME类型。

您可以尝试

Modernizr.load('preload!something/image1.jpg'); 

这为我工作。

不要忘了添加前缀插件(否则当JS引擎尝试执行图像,你会得到一个错误):

yepnope.addPrefix('preload', function (resource) { 
    resource.noexec = true; 
    return resource; 
}); 
+0

我试着拨打预载了十几次,从来没有一次想到,我需要用插件扩展yepnope(我只是假设它是脚本的一部分)。谢谢你证明我的阅读理解不在应该的地方! – nathanziarek

+0

很简单,谢谢! –