我有一个在 Catalina 上的 Safari 14 上工作的图片元素。
它在一个图片元素中使用两个来源。第一个是webp,第二个是jpg。Safari,因为它不支持 webp,所以曾经回退到 jpg。
在新的 Big Sur 操作系统中,它不会回退,而是显示错误。网络选项卡显示其正在下载 webp(加载失败)。
我的代码有一个codepen。 https://codepen.io/yhattav/pen/YzNgBeV
webp(pink) first, jpg(green) 2nd
<picture>
<source srcset="https://static.wixstatic.com/media/907a4b_03ff6fed104e4447a1402d87cbe97138~mv2.jpg/v1/fill/w_317,h_317,al_c,q_90/907a4b_03ff6fed104e4447a1402d87cbe97138~mv2.webp" type="image/webp">
<source srcset="https://static.wixstatic.com/media/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.jpg/v1/fill/w_317,h_317,al_c,q_90/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.jpeg" type="image/jpeg">
<img alt="Lt_Olive.jpg" class="gallery-item-visible gallery-item gallery-item-preloaded" data-hook="gallery-item-image-img" data-idx="0" src="https://static.wixstatic.com/media/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.jpg/v1/fill/w_317,h_317,al_c,q_90/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.webp" style="width: 317px; height: 317px;">
</picture>
jpg(green) first, webp(pink) 2nd
<picture>
<source srcset="https://static.wixstatic.com/media/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.jpg/v1/fill/w_317,h_317,al_c,q_90/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.jpeg" type="image/jpeg">
<source srcset="https://static.wixstatic.com/media/907a4b_03ff6fed104e4447a1402d87cbe97138~mv2.jpg/v1/fill/w_317,h_317,al_c,q_90/907a4b_03ff6fed104e4447a1402d87cbe97138~mv2.webp" type="image/webp">
<img alt="Lt_Olive.jpg" class="gallery-item-visible gallery-item gallery-item-preloaded" data-hook="gallery-item-image-img" data-idx="0" src="https://static.wixstatic.com/media/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.jpg/v1/fill/w_317,h_317,al_c,q_90/907a4b_a7594ab04dcb4d969a8440401f3d3a2d~mv2.webp" style="width: 317px; height: 317px;">
</picture>
它由两个图片元素组成:
- webp 源,jpg 源,img 标签。
- jpg 源,webp 源,img 标签。
为了让它更明显,webp 是粉红色的,而 jpg 是绿色的。
在chrome中,它显示粉红色和绿色,因为它支持webp。在 Catalina 上的 safari 中,它显示绿色和绿色,因为它不支持 webp。
我已经阅读了 webp 支持应该已经添加到新版本中。 https://www.macrumors.com/2020/06/22/webp-safari-14/ 难道是浏览器“认为”它支持 webp 而实际上不支持?
谢谢你的帮助。