场景:ALT属性
<img src="filepath" alt="image not found">
这将确保,如果文件没有路径,则文本会被加载发现.....
问题: 而不是一个替代文字可以加载图像?是否有任何标签将随时为我的目的,是否有任何自定义JavaScript函数可以在#alt标签?
场景:ALT属性
<img src="filepath" alt="image not found">
这将确保,如果文件没有路径,则文本会被加载发现.....
问题: 而不是一个替代文字可以加载图像?是否有任何标签将随时为我的目的,是否有任何自定义JavaScript函数可以在#alt标签?
您可以检查图像中的JavaScript加载:
var img = document.getElementById('image');
if (img.complete && img.naturalWidth == 0) {
// some error, load alternate image:
img.src = "path to alternative img";
}
编辑:完整的解决方案(使用onerror
从@ JoDev的答案)是:
<script>
function validate (img) {
// Clear the callback to avoid infinite loop in case
// new image path would be also invalid.
img.onerror = null;
if (img.complete && img.naturalWidth == 0) {
// some error, load alternate image:
img.src = "http://example.com/valid_path.png";
}
}
</script>
<img onerror="javascript:validate(this);"
src="http://example.com/some_invalid_path.png"/>
+1我没有知道这部分:'img.naturalWidth == 0' – JoDev 2013-03-28 08:46:12
图像无法被加载。 (你有什么保证,那*图像将被发现和加载?你想为alt图像设置一个alt图像吗?等等) – sevenseacat 2013-03-27 12:50:32
请注意'alt'属性基本上是一个辅助功能。在无法显示图像的环境下(例如屏幕阅读器),另一个图像不能取代。我建议你使用该属性来达到预期目的(如果适用,请提供图片的简要说明,其中“未找到图片”不是),并找到另一种方法来检测丢失的图片。 – 2013-03-27 12:56:44
请参考http://stackoverflow.com/questions/3984287/how-to-show-alternate-image-if-source-image-is-not-found-onerror-working-in-ie – AmGates 2013-03-27 12:58:28