我(或应该)如何扩展Modernizr.load()以预加载图像?

nat*_*rek 6 image-preloader modernizr yepnope

想法是加载页面/something/index.html.但是,在我展示之前,它的依赖关系(在这种情况下是css和图像)是预加载的.

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

我查看了Paul Irish的"imagesLoaded"jQuery插件,但我更喜欢使用我已经拥有的加载器的简单性.我知道YepNope(和Modernizr.load)不是设计师作为通用预加载器,但我觉得这是最干净的方法.

非常感谢有关如何将图像预加载到Modernizr/YepNope加载脚本中的任何想法.

新西兰

Pla*_*atr 6

在yepnope文档中,指定了预加载!前缀"应该"适用于其他一些mime类型.

你可以试试

Modernizr.load('preload!something/image1.jpg');
Run Code Online (Sandbox Code Playgroud)

这对我有用.

不要忘记添加前缀插件(否则当js引擎尝试执行图像时会出现错误):

yepnope.addPrefix( 'preload', function ( resource ) {
    resource.noexec = true;
    return resource;
});
Run Code Online (Sandbox Code Playgroud)