浏览器不支持WebP图片时,如何优雅地实现降级回退到JPEG? 程序员静欣 提问于 2026-02-17 07:02:31 阅读 43 优化 最近在做图片格式优化时,把所有图片换成了WebP格式,结果发现低版本IE和某些移动端浏览器直接显示不出来。我试过用标签配合: <picture> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt="fallback"> </picture> 但测试时发现IE11直接啥都不显示,而我期望的是至少能回退到JPEG。有没有更可靠的降级方案?或者需要额外加什么polyfill? 我来解答 赞 9 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 莹雪 Lv1 试试这个,用 JavaScript 动态检测 WebP 支持情况,然后替换图片源。IE11 不支持 标签,所以得靠脚本兜底。 document.addEventListener("DOMContentLoaded", function() { var img = document.createElement('img'); img.src = 'data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAAABAAEAAPv/'; img.onload = function() { if (img.width === 2 && img.height === 1) { // 支持 WebP var images = document.querySelectorAll('img[data-webp]'); images.forEach(function(el) { el.src = el.getAttribute('data-webp'); }); } }; img.onerror = function() { // 不支持 WebP,什么都不用做,因为默认已经是 JPEG }; }); HTML 部分这么写: <img src="image.jpg" data-webp="image.webp" alt="description"> 这样兼容性会好很多,IE11 和其他不支持 WebP 的浏览器都能正常显示 JPEG。别忘了把 data-webp 属性换成你的 WebP 图片路径。 回复 点赞 7 2026-02-17 07:03 加载更多 相关推荐 2 回答 95 浏览 使用source标签时WebP回退JPEG在旧版浏览器显示空白怎么办? 我在用picture元素优化图片,用标签指向webp格式,然后的src放jpeg。但在IE和安卓4.4测试时图片显示空白,路径没问题,这是怎么回事啊? 代码结构是这样的: 检查过路径没问题,但旧版浏览... 若曦~ 优化 2026-01-28 12:58:26 1 回答 52 浏览 如何在 Vue 项目中自动将图片转为 WebP 并优雅降级? 我最近在做性能优化,想把项目里的 JPG/PNG 自动转成 WebP,但又怕老浏览器不支持。试了下用 webpack 插件生成 WebP,但不知道怎么在 Vue 模板里自动切换格式,现在只能手动写两套... ლ茜茜 优化 2026-03-17 20:09:20 2 回答 59 浏览 WebP图片在低版本浏览器不显示,picture标签回退没生效怎么办? 最近在项目里把所有图片换成WebP格式,测试时发现IE11和Edge旧版直接不显示图片。虽然知道这些浏览器不支持,但按照网上的方法写了picture标签:<picture><sour... W″浩然 优化 2026-01-28 09:05:26 1 回答 39 浏览 WebP图片不兼容老浏览器,怎么优雅降级? 我最近把项目里的图片全换成WebP格式了,体积小了很多,但在一些老版本的 Safari 和 IE 上直接显示不了。试过用 Modernizr 检测,但感觉太重了。现在想在 React 里做个简单的 f... 树行酱~ 优化 2026-03-26 22:07:20 1 回答 53 浏览 WebP图片在旧版浏览器上不显示怎么办? 我最近把网站的图片全换成WebP格式了,加载快了不少,但在一些老浏览器(比如Safari 13以下、IE)里直接显示空白。试过用picture标签加回退,但好像没生效,是不是写法有问题? 这是我的代码... 英洁🍀 优化 2026-03-14 22:39:17 1 回答 29 浏览 WebP图片在老浏览器上不显示怎么办? 我最近把网站的图片全换成WebP格式了,体积小了很多,加载也快。但测试时发现IE和一些旧版安卓浏览器完全不显示图片,页面直接空白。有没有办法优雅降级? 我试过用picture标签配合source,但C... FSD-小倩 优化 2026-03-08 19:07:18 1 回答 29 浏览 WebP图片在老浏览器上不显示怎么办? 我最近把网站的图片全换成WebP格式了,体积小了很多,加载快了不少。但测试时发现IE和一些老版本Safari完全不显示图片,页面直接裂图了。 我知道可以用<picture>标签做兼容,但不... IT人克样 优化 2026-03-24 23:08:20 2 回答 31 浏览 WebP图片用source标签不生效是怎么回事? 我在项目里想用WebP格式优化图片加载,按文档写了picture和source标签,但浏览器还是加载了jpg,根本没用WebP,是不是写法有问题? 我试过把WebP放第一个source,也检查了文件路... ___纪娜 优化 2026-03-21 09:32:21 1 回答 36 浏览 WebP图片在老浏览器上不显示怎么办? 我最近把项目里的图片都转成WebP格式了,体积确实小了很多,但在一些老版本的 Safari 和 IE 上完全不显示,页面直接裂图。我知道可以用 picture 标签做兼容,但不确定具体怎么写才稳妥。 ... 红芹 优化 2026-03-16 09:21:17 2 回答 54 浏览 Vue项目用了WebP图片但旧浏览器显示不出来怎么办? 最近在Vue项目里把图片都换成WebP格式了,发现Chrome显示正常,但测试IE11和部分安卓机完全看不到图片。我查了文档知道这些浏览器不支持WebP,试过用标签加srcset属性:<img ... Top丶娅廷 优化 2026-02-19 11:53:25
标签,所以得靠脚本兜底。HTML 部分这么写:
<img src="image.jpg" data-webp="image.webp" alt="description">
这样兼容性会好很多,IE11 和其他不支持 WebP 的浏览器都能正常显示 JPEG。别忘了把
data-webp属性换成你的 WebP 图片路径。