我正在尝试调试用 Mootools 框架编写的 Javascript。现在我正在 Rails 上开发一个 Web 应用程序,我的 Web 服务器是引导 WEBrick 的 rails 。
当我修改在一个 mootools 初始化脚本中调用的特定 tree.js 文件时,
require: {
css: [MUI.path.plugins + 'tree/css/style.css'],
js: [MUI.path.plugins + 'tree/scripts/tree.js'],
onload: function(){
if (buildTree) buildTree('tree1');
}
},
更改未加载,因为发送给客户端的 header 上次修改时间:2010 年 7 月 10 日......这显然不是真的,因为我刚刚修改了文件。
我如何摆脱这个恼人的缓存。如果我直接转到我的浏览器 (Chrome) 中的脚本,它不会显示更改,直到我点击刷新,但是当我返回我的应用程序并点击刷新时,这并不能解决我的问题,它仍然加载预修改后的脚本。
最佳答案
我在FF也出现过这种情况,我认为是服务器发送的缓存头或者浏览器本身。 无论如何,在开发过程中避免此问题的一种简单方法是向脚本的文件名添加一个随机参数。
而不是调用 'tree/scripts/tree.js'
使用 'tree/scripts/tree.js?'+random
这应该会使所有缓存失效。
关于Javascript 调试困难,因为浏览器不刷新脚本!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845041/