浏览器不可能让你清除它的缓存。如果可能的话,这将是一个巨大的安全问题。这很容易被滥用——一旦浏览器支持这种“功能”,我就会把它从我的电脑上卸载。你能做的就是告诉它不要缓存你的页面,通过发送适当的标题或使用这些元标签:
<meta http-equiv='cache-control' content='no-cache'> <meta http-equiv='expires' content='0'> <meta http-equiv='pragma' content='no-cache'>
您可能还想考虑关闭表单字段上的自动完成,尽管恐怕有一种标准方法可以做到这一点(参见这个问题)。无论如何,我想指出的是,如果您正在处理敏感数据,则应该使用SSL。如果您不使用SSL,任何可以访问网络的人都可以嗅探网络流量,并很容易地看到您的用户看到的内容。使用SSL还使一些浏览器不使用缓存,除非明确告知。看看这个问题。
这是可能的,你可以简单地使用jQuery替换引用缓存状态的“meta标签”与事件处理程序/按钮,然后刷新,很容易。
$('.button').click(function() { $.ajax({ url: "", context: document.body, success: function(s,x){ $('html[manifest=saveappoffline.appcache]').attr('content', ''); $(this).html(s); } }); });
注意:此解决方案依赖于作为HTML 5规范的一部分实现的应用程序缓存,它还需要服务器配置来设置应用程序缓存清单。它没有描述一种通过客户端或服务器端代码清除“传统”浏览器缓存的方法,这几乎是不可能做到的。
浏览器不可能让你清除它的缓存。如果可能的话,这将是一个巨大的安全问题。这很容易被滥用——一旦浏览器支持这种“功能”,我就会把它从我的电脑上卸载。
你能做的就是告诉它不要缓存你的页面,通过发送适当的标题或使用这些元标签:
您可能还想考虑关闭表单字段上的自动完成,尽管恐怕有一种标准方法可以做到这一点(参见这个问题)。
无论如何,我想指出的是,如果您正在处理敏感数据,则应该使用SSL。如果您不使用SSL,任何可以访问网络的人都可以嗅探网络流量,并很容易地看到您的用户看到的内容。
使用SSL还使一些浏览器不使用缓存,除非明确告知。看看这个问题。
这是可能的,你可以简单地使用jQuery替换引用缓存状态的“meta标签”与事件处理程序/按钮,然后刷新,很容易。
注意:此解决方案依赖于作为HTML 5规范的一部分实现的应用程序缓存,它还需要服务器配置来设置应用程序缓存清单。它没有描述一种通过客户端或服务器端代码清除“传统”浏览器缓存的方法,这几乎是不可能做到的。