WebP图片在Safari上不显示怎么办?
我最近把项目里的JPG和PNG都转成WebP格式了,体积小了很多,但在Safari上图片直接裂开不显示。查了下说Safari 14之前不支持WebP,但用户还在用老版本,这咋办?
试过用<picture>标签做降级,但写法不太确定对不对,现在代码是这样的:
<picture>
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="示例图">
</picture>
这样写在Chrome里没问题,但在Safari 13上还是加载不了图片,是不是哪里漏了?
首先把
img标签加上loading="lazy"虽然不是必须,但能优化性能。重点是确保 fallback 的 JPG 图片路径正确。另外建议检查下文件名大小写是否一致,Safari 对路径很敏感。要是还不行,可能是 WebP 支持问题。
说到浏览器兼容,Safari 真的是让人头疼,尤其是老版本。如果实在要支持 Safari 13及以下,建议用 JavaScript 做个检测,不支持 WebP 就直接加载 JPG。
这种场景我通常会写个简单函数:
这东西虽然麻烦,但没办法,谁让苹果更新这么慢呢。