0

一直在寻找预加载图像目录的方法,发现这是这里提供的最好的脚本:http: //perishablepress.com/3-ways-preload-images-css-javascript-ajax/ 我最喜欢这个在预加载之前等待当前文档加载,但我想让这个人加载图像目录,而不是必须指定每个文件,并且对 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);
4

1 回答 1

0

没有通用的方法可以做到这一点。您需要某种方式从服务器检索目录的内容,并且不能保证您的 Web 服务器会提供列表。通常,大多数 Web 服务器不允许客户端列出服务器端目录的内容。

如果您控制 Web 服务器,则可以对其进行配置,以便显示目录列表,例如,当您要求“http://domain.tld/path/to/”时。但即便如此,返回响应的格式也可能会有所不同,具体取决于 Web 服务器。

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

于 2012-07-27T18:39:08.500 回答