当用户从我的移动应用程序退出时,如何确保清除缓存?
我正在考虑的是重定向/注销到清除缓存并重定向到首页的特定页面,但如何清除缓存中的所有内容?
我正在使用jQuery Mobile 1.0b2pre。
答案 0 :(得分:6)
以下是我如何解决它:
我的/logout
操作在后端销毁用户会话,重定向到/exit
,其id属性为exitPage
。
在我的JavaScript中,我已经要求jQuery Mobile在即将创建该页面时触发。然后我清空DOM并重定向到首页。
/出口:
<div data-role="page" id="exitPage"></div>
/my.js:
jQuery('#exitPage').live('pagebeforecreate', function(){
jQuery(document).empty();
window.location.replace('/');
});
答案 1 :(得分:1)
你无法清除缓存。但你可以做的是根据他的会话ID识别用户,并在下次进入时将其附加到资产网址someimage.png?cachecontrol=blablalba
,他将拥有一个新的会话ID,这样即使是旧文件,他也会获得新文件仍然在缓存中。另一个解决方案是将缓存控制标头显式设置为no-cache。但你不能强迫他的浏览器清除它的缓存
答案 2 :(得分:0)
为避免更改所有网页的网址,您可以根据会话ID在会话中为每个响应发送ETag
标头。如果你还包括Cache-Control:must-revalidate
,这应该可以解决问题。