注销时jQuery清除缓存

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

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

我正在使用jQuery Mobile 1.0b2pre。

这是我解决它的方式:

在后端销毁用户会话的我/logout操作重定向到/exit ,其id属性为exitPage 。 在我的JavaScript中,我已经要求jQuery Mobile在即将创建该页面时触发。 然后我清空DOM并重定向到首页。

/出口:

 

/my.js:

 jQuery('#exitPage').live('pagebeforecreate', function(){ jQuery(document).empty(); window.location.replace('/'); }); 

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

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