何らかの理由で、画像がキャッシュに保存されている場合、jQuery .load は起動しません (Chrome のみ)。
どうすれば修正できますか?
これは、現在のsrcと新しい srcが同じ場合、両方が同じであるため、新しいイメージをロードしないためです。これに対するハックは、現在のsrc値を空白にすることです。
$("#btn").click(function(){
$("#tst").attr('src','');
$("#tst").attr('src','https://www.google.co.il/images/srpr/logo3w.png');
});
<a href="http://jsfiddle.net/Vaishak/uYmWQ/2/">jsFiddle デモ リンク
たとえば、タイムスタンプを使用できます。
var timestamp = new Date().getTime();
$("#image_test")
.attr("src", "http://www.sandiegovips.com/wp-content/uploads/2014/05/test-image.jpeg?timestamp="+timestamp)
.load(function() {
alert("image loaded!");
});
<img id='image_test' src=""/>
画像の URL にタイムスタンプを含めることで、キャッシュをバイパスできます。これにより、要求されるたびにキャッシュされた画像が更新されます。