朋友们,非常感谢您帮助解决以下问题:本地PC上的某个目录下有一组文件(图片),并且有一个HTML文件需要将这些图片加载到其中。所有图片都按照一定的模式命名,例如 scene-1、scene-2 等。我制作了一个简单的脚本,只需单击按钮即可加载所需的图片,实际上仅增加文件名中的数字,但问题变成了如果图片用完如何停止程序。它们的数量可以是任意的,从没有到几千个,因此不可能将它们以某种数组的形式预先全部写入代码中。我找到了这样的解决方案:
image.onerror = function(){
num = 0;
image.src = `./image/locations/scene-${num}.jpg`};
但是控制台中出现错误的选项在某种程度上非常烦人。所以我想知道,是否有可能以条件或回调函数的形式重新制作它?或者,也许您可以在执行脚本的其余部分之前对文件是否存在进行一些初步检查?
let num = 0;
function next_step() {
num++;
let div_img = document.getElementById('image_block');
let image = document.createElement('img');
image.src = `./image/locations/scene-${num}.jpg`;
image.className = 'image';
image.onerror = function(){
num = 0;
image.src = `./image/locations/scene-${num}.jpg`};
div_img.innerHTML = '';
div_img.appendChild(image);
}
}
其实上面就是目前所有的代码了。
您可以尝试文件系统API
Window: showDirectoryPicker()方法允许您选择一个目录并获取文件列表,例如如下所示:
由于安全限制,此代码必须放置在按钮单击处理程序中。执行过程中,会有一个文件夹选择窗口,选择文件夹后,控制台中会显示文件列表