如何检查用户缓存中的javascript文件。如果他在一段时间后刷新页面或访问该网站。我不需要再次下载该js文件。关闭网站后,是否会清理js文件。
是否缓存javascript文件取决于您如何设置Web服务器,如何设置用户浏览器以及如何设置服务器与用户之间的任何HTTP代理服务器。您只能控制服务器的设置方式。
[如果您希望最大程度地缓存javascript,则服务器需要使用javascript文件发送正确的HTTP标头。确切的操作方式取决于您使用的Web服务器。
以下几个链接可能会有所帮助:
Apache-http://httpd.apache.org/docs/2.0/mod/mod_expires.html
浏览器将自动管理其自身缓存中的内容。您可以使用多种机制来控制它。
查看各种HTTP缓存头,例如:
Expires标头在客户端缓存中是最关键的。如果您设置了一个很长的Expires标头(例如10年),那么浏览器将不会(理论上)不再寻找该文件的服务器。当然,那么您需要一种在文件内容更改时更改文件名的方法。大多数人通过在文件路径中添加内部版本号来管理此问题。
浏览器将为您处理缓存。
何时清空缓存,部分取决于浏览器设置,部分取决于您发送的标头。如果设置Expires
标头,则浏览器在文件过期之前不应重新请求文件。阅读有关HTTP Headers可能会有所帮助。
要检查是否缓存了Javascript文件,只有如果Javascript文件来自同一域,则是>> afaik。
然后您可以像这样检查它:
,否则将引发错误。try { await fetch("https://YOUR-DOMAIN.org/static/build/js/YOUR-FILE.js", {method:'Head',cache:'only-if-cached',mode:'same-origin'}); } catch (error) { console.error(error); }
您将获得一个
200
返回如果已缓存