如何强制浏览器缓存页面.html

How to force the browser to cache a page .html?

本文关键字:html 缓存 何强制 浏览器      更新时间:2023-09-26

>有人知道如何在浏览器中强制页面缓存吗?我需要多次重新加载页面,但浏览器没有缓存页面!

如果浏览器没有缓存页面,那么除了使用其中一个之外,您无能为力:

<meta http-equiv="Cache-control" content="public">

<meta http-equiv="Cache-control" content="private">

不能以编程方式覆盖浏览器设置。这将是一个安全问题!

即使你有<meta http-equiv="Cache-control" content="public">,还有其他因素需要考虑。

请注意,某些浏览器对缓存有文件大小限制...如果可以的话,将html保持在25Kb以下,并且外部资源如css,js等...低于 1Mb,但有关浏览器详细信息,请参阅:此处和此处

您可以在某些浏览器上检查browser.cache.disk.max_entry_size,如果无法预先计算文件大小,则可以使用document.getElementsByTagName('html')[0].outerHTML.length来估算长度。

您的服务器需要正确设置"上次修改时间"和"过期"

如果启用缓存,这只会增加缓存的可能性,而不是强制缓存。 如果启用了本地存储并且没有缓存,则可以考虑使用本地存储(有些人会完全禁用缓存以应对 1 个特定站点)

您必须添加此元标记:

<meta http-equiv="Cache-control" content="public">