Я протестировал с этой новой версией, и она работает, кэширование используется для второго изображения, протестированного на IE7 и FF3.6. разница в том, как я устанавливаю атрибут img src в обратном вызове load () jQuery (но почему для меня остается загадкой).
Будьте осторожны, в этом примере я использовал огромное изображение, чтобы действительно увидеть разницу.
$(function() {
var use_unique_name = true;
var imgsrc = 'http://www.challey.com/WTC/wtc_huge.jpg';
if (use_unique_name) {
var ts = +(new Date());
// try replacing _= if it is there
var ret = imgsrc.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
// if nothing was replaced, add timestamp to the end
imgsrc = imgsrc + ((ret == imgsrc) ? (imgsrc.match(/\?/) ? "&" : "?") + "_=" + ts : "");
}
var loader = $('<iframe />').appendTo('body');
loader.load(function() {
var img = jQuery('<img src="#"/>');
$('body').append(img);
img.attr('src',imgsrc);
});
loader.attr('src', imgsrc);
});
edit fiddle link:
http://jsfiddle.net/regilero/g8Hfw/