例如,当我进入我的Gmail帐户时,我每隔一段时间就会看到更改,并且这些更改在不使用ctrl+f5(没有缓存数据)更新的情况下是有效的,而我的网络应用程序则相反,用户必须按ctrl+f3才能看到更改。
我如何在不需要清除缓存或更新的情况下实现与其他web应用程序相同的更改。
这个问题不在于数据,而在于html内容。我根据AngularJS路由用requireJS加载每个部分(js,css&html),例如,如果我调用index.php#/users/edit,我加载users/edit.html等等,所以当我进行更改或添加html/css/js文件时,即使按f5,更改也不可见,用户需要删除缓存或按ctrl+f5
假设我正确理解了你的问题,我通常会在用于获取页面内容的URL上添加一个"version"参数。
因此,您可以请求users/edit.html?v=123
,而不是调用users/edit.html
您可以将您的版本放在一个专用变量中,该变量可以手动设置,也可以在构建时设置。
如果您想完全忽略缓存,您可以使用类似Math.random()
的东西附加一个随机值