私はこれを数日間行ってきましたが、助けが必要です。画像が Safari にキャッシュされている場合、 .load() イベントが呼び出されないことを知っているので、以下のコードを思いつきました。
画像がキャッシュされているかどうかはわかりますが、キャッシュされた画像の幅と高さを取得できません。ゼロになります(Safariの場合)。任意の洞察をいただければ幸いです。ありがとう。
var $_item = $('<div id="'+(name+itemIndex)+'" class="box" ><div class="image_back"><img src="'+ image_back +'" id="backcolor" /></div><div class="image_outline"><img src="'+ image_outline +'" /></div></div>').appendTo('body');
if( $('#backcolor', $_item)[0].complete ) {
el_w = $('#backcolor', $_item).width();
el_h = $('#backcolor', $_item).height();
console.log("cache*****" +":"+el_w+":"+":"+$('#backcolor', $_item)[0].width);
} else {
$('#backcolor', $_item).load( function() {
el_w = $('#backcolor', $_item).width();
el_h = $('#backcolor', $_item).height();
console.log("load*****" + this+":"+el_w);
});
}