chrome 因缓存机制可能持续显示旧版 html 页面,即使服务器文件已更新;本文提供无需清空浏览器历史的可靠解决方案,包括 http 缓存头配置与文件名策略。
当您通过 Hostinger 等共享主机成功上传新版 HTML、CSS 或 JavaScript 文件后,Chrome 却仍显示旧内容,而 Edge、Firefox 甚至手机 Safari 却能正常加载——这通常不是上传失败,而是浏览器(及中间代理)对静态资源实施了强缓存(Strong Caching)。由于您的网站是纯前端(无服务端动态渲染),HTTP 响应头默认未明确控制缓存行为,导致 Chrome 遵循其保守策略:复用本地缓存副本,跳过重新请求。
Hostinger 支持 Apache 服务器,您可在网站根目录(如 public_html/)中创建或编辑 .htaccess 文件,强制为关键文件设定合理的缓存策略:
# 禁用 HTML 页面缓存(确保每次获取最新版本)Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0" # 或更通用方式:对所有 .html 文件生效Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0" # 对 CSS/JS 文件可启用短期缓存 + 版本化(推荐长期方案)Header set Cache-Control "public, max-age=3600"
⚠️ 注意事项:
若暂无法配置 .htaccess,可在 HTML 中通过查询参数“欺骗”浏览器:
每次更新文件时修改 v= 后的值(如时间戳 ?v=202505201430),即可绕
过缓存。注意:此法仅对 /
原答案中建议将 index.html 改为 index.htm 虽然能临时触发新请求(因 URL 变更),但存在明显缺陷:
缓存不是敌人,而是性能基石;关键在于主动声明意图——告诉浏览器“这个 HTML 必须每次都校验新鲜度”。掌握这一原则,您就能彻底告别“改了代码却看不到效果”的困扰。