0

设想:

 <img src="filepath" alt="image not found">

这将确保如果在路径中找不到文件,则将加载文本.....

问题:可以加载图像而不是替代文本吗?是否有任何标签可以满足我的目的,是否有任何可以在#alt 标签中给出的自定义 JavaScript 函数?

4

3 回答 3

2

您可以检查图像是否在 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"/>
于 2013-03-27T12:51:39.503 回答
0

有一个特殊的活动可以让你做到这一点。它的 :

<img src="" onerror="this.src='path/to/default'" />
于 2013-03-27T12:54:07.933 回答
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'/>
于 2018-03-28T13:21:38.783 回答