我有一个jquery幻灯片并构建了一个预加载函数:
function preload_images(){
var pre_image = curr_img - 1;
if(pre_image < 0) pre_image = (tot_elements-1);
var curr_obj = 0;
if(!$('#img_preloaded_'+pre_image).length > 0){
curr_obj = slideshow[pre_image];
$('.preload_left').append('<img src="'+curr_obj["img_url"]+'" id="img_preloaded_'+pre_image+'" class="preload_box" />');
}
var pre_image = curr_img + 1;
if(tot_elements==pre_image) pre_image = 0;
if(!$('#img_preloaded_'+pre_image).length > 0){
curr_obj = slideshow[pre_image];
$('.preload_right').append('<img src="'+curr_obj["img_url"]+'" id="img_preloaded_'+pre_image+'" class="preload_box" />');
}
Firefox中的一切都很有效 - 图像在加载时会被缓存 - 但由于某种原因,图像不会缓存在Chrome或Safari中。您可以看到,在FF,Chrome和Safari中,图像会加载到幻灯片放映左侧的文档中,但它们不会缓存。幻灯片重新加载它们除了在FF中,因为图像已经缓存在FF中。
https://www.assembla.com/code/cfrepo/subversion/node/blob/trunk/index.html#image=CrossFire http://jsfiddle.net/doobada/9m9eq/
有什么想法吗?
答案 0 :(得分:0)
好的,看起来Chrome和其他浏览器都有自己的缓存过期默认值。要解决此问题,我需要在幻灯片集中预加载图像,然后更改过期。它只能在Firefox中正常工作,直到我编辑.htaccess文件,以便chrome不会给它默认的到期时间:
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Expires "Thu, 15 Jan 2015 20:00:00 GMT" </FilesMatch>