能否为图片文件名添加变量以解决iPhone图片缓存不更新问题?
解决图片缓存问题:自动添加日期后缀到图片URL
方法1:用JavaScript自动处理(推荐,一劳永逸)
静态HTML本身不支持变量,但可以用JavaScript在页面加载时动态修改图片URL,自动加上当天日期作为缓存破弃参数。
把这段代码放在HTML的</body>标签之前即可:
<script> // 生成格式为YYYYMMDD的当日日期字符串 const todayDate = new Date().toISOString().split('T')[0].replace(/-/g, ''); // 遍历所有图片元素 document.querySelectorAll('img').forEach(img => { // 仅对未添加过参数的jpg图片生效,避免重复添加 if (img.src.endsWith('.jpg') && !img.src.includes('?')) { img.src += `?${todayDate}`; } }); </script>
效果:页面加载后,所有0001.jpg这类图片的URL会自动变成0001.jpg?20240520(日期随当天自动变化),iPhone会认为是新URL,从而加载最新图片,不用手动修改任何内容。
如果你的图片还有其他格式(比如.png),只需把代码里的.jpg改成对应的后缀即可。
方法2:Notepad批量替换(适合不想用JS的场景)
每天手动批量替换所有图片的后缀,步骤如下:
- 用Notepad打开你的主页HTML文件
- 按下
Ctrl+H打开替换窗口 - 「查找内容」填写:
.jpg" - 「替换为」填写:
.jpg?YYYYMMDD"(把YYYYMMDD替换成当天的日期,比如20240520) - 点击「全部替换」,所有图片的URL会瞬间完成修改
同理,其他图片格式可以重复上述操作,替换对应的后缀即可。
内容的提问来源于stack exchange,提问作者ejner
相关产品推荐
相关产品推荐

