3

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

4

3 回答 3

7

如果浏览器没有缓存页面,那么您只能使用其中之一:

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

或者

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

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

于 2013-09-27T20:23:39.327 回答
1

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

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

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

您的服务器需要适当地设置“Last-Modified”和“Expires”

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

于 2013-09-27T21:32:11.473 回答
0

您必须添加此元标记:

<meta http-equiv="Cache-control" content="public">
于 2013-09-27T20:21:26.170 回答