javascript - 为 img html 标签提供不止一种替代图像源?

标签 javascript html

我有两张备用图片和一张默认图片,以防找不到前两张图片。

<img 
    src='image1.png'
    onError="this.onerror=null;this.src='image2.png';"
    onError="this.onerror=null;this.src='default.png';" />

然后我测试了三个 <img />我找到了 image1.pngimage2.png工作正常,但如果没有 image1.pngimage2.png , 默认图像 default.png不显示。

关于如何使用多个替代图像(如我的上述案例)的任何提示?

最佳答案

您可能想改用 addEventListener,跟踪您在可能图像数组中的位置。

<img src='image1.png'/>
<script>
function addFallbackSources(img, sources){
  let idx = 0;
  img.addEventListener("error", e=>{
      if(idx >= sources.length) throw new Error("No images left to try");
      img.src = sources[idx++];
  });
}
addFallbackSources(document.querySelector('img'), ["image2.png", "default.png"]);
</script>

关于javascript - 为 img html 标签提供不止一种替代图像源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62786767/

相关文章:

javascript - 没有数据的 Twitter 事件

javascript - 获取第一类元素

javascript - keydown 在 keyup 之前触发多次

javascript - 需要一个模块如何影响 Node.js 的性能?

html - 为什么 IE 不尊重我的 CSS for UL?

html - 在 Wordpress 中用图标替换菜单项

html - 媒体查询不适合移动版本

jquery - 如何在桌面上禁用 owl-carousel 并在移动设备上启用

javascript - 将 Javascript 注入(inject)网站

html - 修剪共享点中的公告