如何正确地反映图像,如果它存在&用div
代替?
// I don't know how to get `imageExists` without making cross-origin
(imageExists) ? (<img class="avatar-img" src={this.state.imageDataUrl}/>) :
(<div class="avatar-img no-avatar"><span>{shortcut}</span></div>)
当然我可以做单独的XmlHttpRequest
,但那是很多不必要的代码+交叉起源。
使用onerror
事件捕获所有无法加载的图像,并将其替换为您想要的<div>
:
$('img').on('error', function() {
$(this).replaceWith('<div class="avatar-img no-avatar"><span>{shortcut}</span></div>');
});