Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
利用javascript批量下载文件以防止浏览器超时的好方法_Javascript_Jquery_Fancybox - Fatal编程技术网

利用javascript批量下载文件以防止浏览器超时的好方法

利用javascript批量下载文件以防止浏览器超时的好方法,javascript,jquery,fancybox,Javascript,Jquery,Fancybox,首先,我在这里使用fancybox库 我的最终目标是创建一个相册,通过Cloudfront下载存储在AmazonS3上的图像。现在,它被设置为有一个主页面,每个页面都有一个单独的图像。单击该图像,它将打开一个相册 问题是,如果我的相册有75个项目或任何大的项目,浏览器将超时和崩溃,或导致我的计算机内存不足(我在本地运行这个,因为我开发它) 下面是一些示例代码 函数photoDL(){ var num=0; var批=0; 对于(i=1;i

首先,我在这里使用fancybox库

我的最终目标是创建一个相册,通过Cloudfront下载存储在AmazonS3上的图像。现在,它被设置为有一个主页面,每个页面都有一个单独的图像。单击该图像,它将打开一个相册

问题是,如果我的相册有75个项目或任何大的项目,浏览器将超时和崩溃,或导致我的计算机内存不足(我在本地运行这个,因为我开发它)

下面是一些示例代码

函数photoDL(){
var num=0;
var批=0;
对于(i=1;i<62;i++){
var myphotohttps://MYCODEFRONTSTUFF/“+i+”.jpg';
var albumpic=新数组();
相册图片推送(我的照片);
对于(批次=1;批次<5;批次++){
$.fancybox.open([
{
src:albumpic[num],
选择:{
标题:“第一个标题”
}
},
], {
循环:false,
散列:“相册3”
});
setTimeout(photoDL(),10000);
num+=1;
}
}

}
您的代码循环61次,在每个循环中,您有运行5次的内部循环。在每个内部循环中——打开新的fancyBox实例(在现有实例之上),然后调用主循环


因此,您打开fancyBox 243次,10000毫秒后,您会打开58806个新实例,您想知道为什么您的浏览器会崩溃?:)

谢谢你的见解,我确实设法弄明白了这一点。引入固定码

函数photoDL(批处理、url、ftype){
var num=0;
var-fArr=[];
var albumpic=新数组();
var fboxOpen=“”;
对于(i=1;i
如果您的浏览器在崩溃前未能加载75个图像,则说明有问题-图像的大小是多少?介于1-2MB/images之间这只是最新的迭代。最初的代码没有循环,我承认我对JS/jQuery比较新,所以为我的困惑和无知道歉。什么是更好的执行方法?我不明白手动下载和打开fancybox有什么关系。所以,您只是想创建一组图像,并简单地在fancyBox中显示它们?那么您的更新代码看起来很好。谢谢。我承认我犯了很多n00b错误。