繁体   English   中英

注销时jQuery清除缓存

[英]jQuery clear cache on logout

当用户从我的移动应用程序注销时,如何确保清除缓存?

我正在考虑的是重定向/注销到清除缓存并重定向到首页的特定页面,但如何清除缓存中的所有内容?

我正在使用jQuery Mobile 1.0b2pre。

这是我解决它的方式:

在后端销毁用户会话的我/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('/');
});

你无法清除缓存。 但你可以做的是根据他的会话ID识别用户,并将其附加到资产网址someimage.png?cachecontrol=blablalba下次进入时,他将有一个新的会话ID,所以他将获得新文件,即使旧的仍然在缓存中。 另一个解决方案是将缓存控制标头显式设置为no-cache。 但你不能强迫他的浏览器清除它的缓存

为避免更改所有页面的URL,您可以根据会话ID在会话中发送包含每个响应的ETag标头。 如果你还包括Cache-Control:must-revalidate ,这应该可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM