javascript - 有没有办法为丢失的 srcset 图像提供后备?

标签 javascript html css image retina

我正在尝试在我的网站上实现视网膜 (2x) 图像。我们的页面是从模板构建的,我们只使用标准的内联图像:

<img src="path/to/image.png" />

我想我可以很聪明,用 srcset 更新它:
<img src="path/to/image.png" srcset="path/to/image@2x.png 2x" />

但是,我们还没有许多这些图像的 2x 变体。

所以我测试了srcset将不存在的图像指定为 2x 资源的属性,认为由于它不可用,浏览器将仅显示 src 中指定的标准图像.相反,它尝试加载丢失的 2x 资源并在页面上显示损坏的图像。

如果 2x 图像不存在,有没有办法让浏览器显示 1x 图像作为后备?否则,在每个图像都有 2x 变体之前,我无法更新模板,否则我们最终会得到到处都是损坏的图像。

最佳答案

答案是不。 srcset 中的所有图像都必须存在。否则,您最终会得到到处都是损坏的图像。

这么说,如果你使用 onerror ,你可以有一个后备图像:

<img src="path/to/image.png" srcset="path/to/image@2x.png 2x" onerror="this.onerror=null;this.src='path/to/image.png'" />

关于javascript - 有没有办法为丢失的 srcset 图像提供后备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41645832/

相关文章:

javascript - jQuery 插件实践

html - 三列内联 block 内容

javascript - 选择导航到 URL 上的单选按钮

javascript - Ajax并行发帖: Define timeout for each request and get only suceeded

javascript - 使用 JavaScript 修改时恢复默认样式

html - 有什么方法可以使用谷歌浏览器在 https 页面内显示 iframe(http) 吗?

javascript - 是否有任何程序可以检查以下字符串作为 if 语句中的条件?

javascript - 如何使用 javascript 获取多个 div 高度的总和?

jquery - 如何将多个值添加到 jquery 代码

css - 如何从 json 数据设置动态类名?