系统设置如下:
页面是从服务器提供的普通 html 页面。页面加载后,会向服务器上的控制器发出 jquery 加载请求,该控制器是 spring mvc。然后控制器发送一个带有其余页面内容的 freemarker 模板(注意这是放在 div 中的)。
freemarker 模板本身包含一些 javascript 文件(即,
<script type="text/javascript" src="..."/>.
所以我读到以这种方式进行 ajax 加载,javascript 文件将被内联在页面中,而不是被视为外部文件。然后我的问题是如何最好地告诉浏览器不要缓存这些 javascript 文件,因为在开发时刷新它们通常需要手动清除缓存而不是强制重新加载页面。
在这种情况下,将时间戳附加到 javascript 包括工作(即,
<script type="text/javascript" src="somefile.js?v=(timestamp)">
或设置
$.ajaxSetup({ cache: false });