我正在为Intranet应用程序工作。因此,我对客户端计算机有一些控制权。我使用的JavaScript库有点大。我想在每台机器(每个浏览器)上预安装OR预加载或缓存JavaScript库,这样它就不会为每个请求传输。我知道浏览器会为后续请求缓存JavaScript库,但我希望为所有后续请求,会话和用户缓存一次库。
实现这一目标的最佳机制是什么?
答案 0 :(得分:4)
您不需要访问客户端计算机。最佳实践都是服务器端:
最后两点意味着内容会被缓存,直到更改为止。您可以使用正式版本的实际版本号(例如jquery-1.4.2.min.js,1.4.2是版本号)。对于您自己的应用程序的代码,通常您将使用类似文件的mtime(上次修改时间)作为查询字符串。例如:
<script type="text/javascript" src="/js/code.js?1233454356"></script>
从文件的修改时间生成?
之后。客户端下载一次,由于远期未来Expires
标题,在版本号更改之前不会再次下载,直到文件更改才会再次下载。
答案 1 :(得分:0)
将逻辑与JS上的执行分开,然后您可以在第一次用户访问时加载脚本(逻辑),然后使用会话/ cookie,您不再加载这些文件,但是它们将在缓存上,然后,当你需要脚本只包含它们,它们将从缓存中进行编码。