2017-06-10 17 views
0

因此,我开始在这里使用fancybox库。利用javascript下载批量文件以防止浏览器超时的好方法

http://fancyapps.com/fancybox/

我的最终目标是创建一个通过下载存储的Cloudfront在Amazon S3图像的画册。现在它被设置为有一个主页面,每个页面都有一个图像。点击该图片并打开相册。

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

这里是一些示例代码

function photoDL(){ 
 
    var num = 0; 
 
    var batch = 0; 
 
    for(i = 1; i < 62; i++){ 
 
    var myphoto = 'https://MYCODEFRONTSTUFF/'+i+'.jpg'; 
 
    var albumpic = new Array(); 
 
    albumpic.push(myphoto); 
 

 
    for(batch = 1; batch < 5; batch++){ 
 
     $.fancybox.open([ 
 
     { 
 
      src : albumpic[num], 
 
      opts : { 
 
      caption : 'First caption' 
 
      } 
 
     }, 
 
     ], { 
 
     loop : false, 
 
     hash : "album3" 
 
     }); 
 
     setTimeout(photoDL(), 10000); 
 
     num += 1; 
 

 

 

 
    } 
 

 

 
    } 
 
}

我知道有在那里的一些东西,不看的权利。我想我可以将SetTimeout设置为缓冲区,并给它一些时间下载每个图像,但这没有帮助。它仍然试图一次下载它们。我正在玩创造批次的想法,但打到了死胡同。任何帮助都非常赞赏。

+0

如果您的浏览器在崩溃之前无法加载75张图片,那么会出现问题 - 图片大小是多少? –

+0

1-2MB之间/图片 –

回答

0

你的代码循环61次,并且在每个循环内部,你有内部循环运行5次。在每个内部循环中 - 你打开新的fancyBox实例(在现有的实例上),然后调用主循环!

因此,你打开fancyBox 243次,并在10000毫秒后,你打开58,806新的实例,你想知道为什么你的浏览器崩溃? :)

+0

这只是最新的迭代。原始代码没有循环,我承认对JS/jQuery更新,所以对我的困惑和无知表示歉意。 什么会是更好的执行方法? –

+0

我不明白如何手动下载和打开fancybox是相关的。那么,你只是想创建一组图像,并将其展示在fancyBox中?然后你的更新代码看起来很好。 – Janis

+0

谢谢。我正在制造一个错误的世界,我承认它。 –

0

谢谢你的见解,我设法找出了这一个。引入固定的代码

function photoDL(batch, url, ftype){ 
 
    var num = 0; 
 
    var fArr = []; 
 
    var albumpic = new Array(); 
 
    var fboxOpen = ''; 
 
    for(i = 1; i < batch; i++){ 
 
    var myphoto = url+i+ftype; 
 
    albumpic[i] = myphoto; 
 
    //console.log(albumpic[i]); 
 
    var fboxOpen = 
 
    { 
 
     src : albumpic[i], 
 
     opts : { 
 
     caption : 'First caption' 
 
     } 
 
    }; 
 
    fArr[i] = fboxOpen; 
 

 
    } 
 
    fArr.shift(); 
 
    var jsonString = JSON.stringify(fArr); 
 
    console.log(jsonString); 
 

 

 
    $.fancybox.open(
 
    fArr 
 
    , { 
 
     loop : false, 
 
     hash : "album3" 
 
    }); 
 
    } 
 
    
 

有点慢,但它肯定努力!

相关问题