Image 预缓存/预加载目录

Image 预缓存/预加载目录,image,caching,load,onload,preload,Image,Caching,Load,Onload,Preload,一直在寻找预加载图像目录的方法,发现这是此处提供的最佳脚本: 我最喜欢这个,因为它会在预加载之前等待当前文档加载,但我想让这个家伙加载一个图像目录,而不必指定每个文件,而且我对javascript非常陌生,任何帮助都值得赞赏 function preloader() { if (document.images) { var img1 = new Image(); var img2 = new Image(); var img3 = new Image(); im

一直在寻找预加载图像目录的方法,发现这是此处提供的最佳脚本: 我最喜欢这个,因为它会在预加载之前等待当前文档加载,但我想让这个家伙加载一个图像目录,而不必指定每个文件,而且我对javascript非常陌生,任何帮助都值得赞赏

function preloader() {
if (document.images) {
    var img1 = new Image();
    var img2 = new Image();
    var img3 = new Image();

    img1.src = "http://domain.tld/path/to/image-001.gif";
    img2.src = "http://domain.tld/path/to/image-002.gif";
    img3.src = "http://domain.tld/path/to/image-003.gif";
    }
}
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
    window.onload = func;
} else {
    window.onload = function() {
        if (oldonload) {
            oldonload();
        }
        func();
        }
    }
}
addLoadEvent(preloader);

没有通用的方法来实现这一点。您需要某种方法从服务器检索目录的内容,并且不能保证您的web服务器将提供一个列表。通常,大多数web服务器不允许客户端列出服务器端目录的内容

如果您控制Web服务器,则可以对其进行配置,以便在您请求http://domain.tld/path/to/". 但即使如此,根据web服务器的不同,返回响应的格式也可能不同

但是,如果您能够从服务器获取给定目录中的图像列表,则仍然需要使用一些技术(如AJAX或隐藏的IFRAME)来加载这些图像名称。然后,您可以使用JavaScript迭代文件名,构建URL,并为每个文件名创建一个图像对象