我正在寻找一种以编程方式清空浏览器缓存的方法。我这样做是因为应用程序缓存了机密数据,当你按“注销”时,我想删除这些数据。这将通过服务器或JavaScript发生。当然,仍然不鼓励在外国/公共计算机上使用该软件,因为还有诸如键盘记录器之类的更多危险,你无法在软件级别上克服这些危险。
有可能,你可以简单地使用jQuery用事件处理程序/按钮替换引用缓存状态的“元标记”,然后进行刷新,轻松,
$('.button').click(function() {
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$('html[manifest=saveappoffline.appcache]').attr('content', '');
$(this).html(s);
}
});
});
注意:此解决方案依赖于作为HTML 5规范的一部分实现的应用程序缓存。它还需要服务器配置才能设置应用程序缓存清单。它没有描述一种可以通过客户端或服务器端代码清除“传统”浏览器缓存的方法,这几乎是不可能的。
这只是HTML5功能吗?
我会这么说,我相信它也需要服务器配置(以设置应用程序缓存清单)。虽然此答案为原始问题提供了解决方案,但它掩盖了几乎不可能通过客户端或服务器端代码清除传统浏览器缓存的事实。
此方法似乎绕过了缓存并更新了内容,但是在重新加载页面时,它会返回到先前缓存的内容。
不赞成使用服务人员developer.mozilla.org/zh-CN/docs/Web/HTML/…
服务人员无法在iPhone上工作,因此您必须在该处使用应用程序缓存