我有一个同时处于使用和开发状态的网站,我时不时需要更新 Javascript。但是,即使服务器端副本已更改,访问浏览器(在 Firefox 中测试)通常会使用其自己的缓存 Javascript。这会导致问题,尤其是当页面标记随 Javascript 一起更改时。
我发现的唯一“解决方案”是让客户端查看源代码,单击有问题的 javascript,一旦它在查看源代码窗口中加载完毕,刷新查看源代码窗口,然后刷新实际页面。这几乎不是一个解决方案。我有什么方法可以在服务器端透明地做到这一点吗?
答案1
最好的解决方案似乎是将版本字符串附加到您的请求中。
javascript.js?v=xxx
每次文件更改时,更新版本字符串。当然,版本字符串不必执行任何操作,并且始终指向同一文件。浏览器将重新加载 javascript 文件。这里的优点是您可以将缓存寿命设置得非常高,以减少不必要的负载。