预加载图片资源到底该用 link preload 还是 img hidden? 一倩云 提问于 2026-03-30 23:45:15 阅读 2 优化 我在做一个图片画廊页面,首屏要快速展示缩略图,但高清大图需要预加载。试过用 <link rel="preload">,也试过用隐藏的 <img> 标签,但不确定哪种方式更靠谱,浏览器缓存行为好像也不太一样? 比如我这样写 preload: <link rel="preload" as="image" href="/assets/photo-large.jpg" rel="external nofollow" > 但有时候发现图片还是重新请求了,是不是我用错了?有没有最佳实践? 前端优化打包优化渲染优化 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 桠豪 Lv1 preload和hidden img各有优缺点。preload更直接,但要注意跨域和缓存问题。如果遇到重新请求的问题,多半是CORS没配置好。 试试这个写法: <link rel="preload" as="image" href="/assets/photo-large.jpg" crossorigin> 记得服务器要设置正确的Access-Control-Allow-Origin头。 要是还是有问题,考虑用隐藏的img标签: <img src="/assets/photo-large.jpg" style="display:none;"> 其实两种方式我都用过,preload在现代浏览器表现更好些,但兼容性还得测。别想太多,代码放这了,自己多测几个浏览器吧,累了就休息会儿再搞。 回复 点赞 2026-03-31 00:00 加载更多 相关推荐
试试这个写法:
记得服务器要设置正确的Access-Control-Allow-Origin头。
要是还是有问题,考虑用隐藏的img标签:
其实两种方式我都用过,preload在现代浏览器表现更好些,但兼容性还得测。别想太多,代码放这了,自己多测几个浏览器吧,累了就休息会儿再搞。