4
我試圖從外部服務器加載的圖像構建一個jcarousel滑塊。這些圖像保存爲GIF並以ID:0001.gif,0002.gif,0010.gif,0011.gif等命名。我想要顯示前99張圖像,但事實證明一些圖像不存在。在Firefox中,這不是一個問題,因爲它沒有對未加載圖像的「佔位符」。但對於所有其他瀏覽器,解決方案是隱藏或刪除未加載的圖像。這似乎在Chrome和Safari中運行良好,但在Firefox中存在緩存問題。我的問題是;我如何避免這種情況?jQuery .load()函數緩存
$(document).ready(function(){
for(var i = 0; i < 99; i++){
// Append images 1-9 to #items
if(i < 10){
$('#items').append('<li class="item" id="' + i + '"><a href="http://www.fagpressen.no/id/3653?magazine=000' + i + '"><img id="' + i + '" src="http://katalogen2012.fagpressen.no/blader/forside/forside000' + i + '.gif"></a></li>');
}
// Append images 10 - 99 to #items
if(i >=10 && i <= 99){
$('#items').append('<li class="item" id="' + i + '"><a href="http://www.fagpressen.no/id/3653?magazine=00' + i + '"><img id="' + i + '" src="http://katalogen2012.fagpressen.no/blader/forside/forside00' + i + '.gif"></a></li>');
}
}
// Remove empty images
var len = $('.item').find('img').length;
$('.item').find('img').each(function(i){
var img = $(this),
itemId = $(this).attr("id");
img.error(function() {
var elem = $(this);
elem.parents('li').remove();
if (i + 1 === len) {
startCarousel();
}
}).load(function() {
if (i + 1 === len) {
startCarousel();
}
});
if (img.width() > 0) {
img.trigger('load');
}
});
});
u能描述你的「緩存問題」是什麼意思?究竟發生了什麼? – brains911