强迫RequireJS文字!重装

时间:2012-02-15 23:00:33

标签: javascript requirejs

使用文字!插件,有没有办法强制RequireJS重新加载文件而不是返回缓存的数据?

2 个答案:

答案 0 :(得分:1)

RequireJS只会按请求缓存文件。页面重新加载将再次获取它。 如果你看到不同的东西,那是因为:

  • 要么在服务器上进行缓存。
  • 或您的浏览器缓存请求。您当然可以在浏览器上禁用此功能。

如果您希望浏览器每次都获取一个干净的文件,那么您的服务器上的这些资源应该有一个no-cache标头。

答案 1 :(得分:0)

我认为您可以通过提供缓存清单来添加新的html5缓存功能:http://www.html5rocks.com/en/tutorials/appcache/beginner/

那么你可以使用requirejs" domReady"获得正确的加载事件: http://requirejs.org/docs/api.html#pageload

然后听取正确的事件(从第一个链接获取的代码):

window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
  // Browser downloaded a new app cache.
  if (confirm('A new version of this site is available. Load it?')) {
    window.location.reload();
  }
} else {
  // Manifest didn't changed. Nothing new to server.
}}, false);

此时无论何时更新urlArgs,您都将获得新的js文件,并且使用清单缓存文件,您将获得新的html文件