picturefill.js是唯一靠谱选择,因ie9–11等旧环境原生不解析,仅渲染,而它严格模拟浏览器匹配逻辑(media→type→fallback),动态设置资源,且经广泛验证持续维护。

旧浏览器不支持 <picture></picture> 标签,必须用 picturefill.js 做 polyfill,且不能只靠它“自动修复”——它只补 DOM 解析和资源选择逻辑,不解决 <source></source> 顺序、srcset 写法或服务器 MIME 配置等根本问题。
为什么 picturefill.js 是唯一靠谱选择
IE9–11、Android 4.4 WebView、Safari ≤ 9 等环境原生不解析 <picture></picture>,会直接跳过所有 <source></source>,只渲染 <img> 的 src(若没写则空白)。picturefill.js 是目前唯一被广泛验证、持续维护、且严格遵循规范的 polyfill:它监听 DOM 加载,手动遍历 <picture></picture>,模拟浏览器的匹配逻辑(media → type → fallback),并动态设置 <img> 的 src 或 srcset。其他方案如手写 JS 模拟,极易漏掉 sizes 计算、DPR 判断或 type MIME 检测。
- 必须用
picturefill.min.js(UMD 版本),不能用 ES 模块版——IE 不支持import - 加载时机很关键:需在
<picture></picture>DOM 就绪后执行,推荐放在
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











