情景:
<img src="filepath" alt="image not found">
这将确保如果在路径中找不到文件,则会加载文本.....
问题: 可以加载图像而不是替代文本?有没有任何标签可以满足我的目的,是否有任何自定义的JavaScript函数可以在#alt标签中给出?
答案 0 :(得分:2)
您可以检查JavaScript中是否加载了图片:
var img = document.getElementById('image');
if ( img.complete && img.naturalWidth == 0 ) {
// some error, load alternate image:
img.src = "path to alternative img";
}
修改:完整解决方案(使用@ JoDev答案中的onerror
)将是:
<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 :(得分:0)
有一个特殊的事件可以让你做到这一点。它是:
<img src="" onerror="this.src='path/to/default'" />
答案 2 :(得分:0)
请参阅以下代码..
在onerror函数内添加你想加载的src路径。如果src是图像被加载。
<img onerror="this.onerror=null;this.src='http://www.personal.psu.edu/oeo5025/jpg.jpg'" id="ddd"
src='http://www.loveimagesdownload.com/wp-content/uploads/2016/08/declaration-of-love_23-2147517078.jpg'/>