对于那些拥有比我更多的Sencha Touch / Ext / JS体验的人来说,这是一个非常快的答案。我将如何以编程方式测试是否存在远程资源,例如图像?换句话说,如何在HTTP 404发生之前阻止它并执行一些默认操作,比如交换默认图像?
这是我目前正在做的事情(catch(e)块永远不会被击中):
albumArtArea.setTpl('<img class="cover_art" src="{iconUrl}"/>');
try {
albumArtArea.setData(itemData);
}
catch (e) {
// this block is never executed
// 404 for missing album art; use the generic image
itemData.iconUrl = "resources/images/img_music_generic.png";
albumArtArea.setData(itemData);
}
答案 0 :(得分:0)
您是否可以让服务器返回默认图像,而不是等待404然后重新请求默认图像?您将保存请求并简化客户端
答案 1 :(得分:0)
你可以做这样的事情来在加载gimage时发生错误时显示默认图像
function ImgError(source){
source.src = "resources/images/img_music_generic.png";
source.onerror = "";
return true;
}
<img src="someimage.png" onerror="ImgError(this);" />
或者如果你是usihg jquery那么
$('img').one('error', function() {
this.src = 'resources/images/img_music_generic.png';
});
<强>参考:强>