我正在寻找一种以编程方式清空浏览器缓存的方法。我这样做是因为应用程序缓存了机密数据,当你按下“注销”时,我想删除这些数据。这将通过服务器或JavaScript实现。当然,在外国/公共计算机上使用该软件仍然是不被鼓励的,因为有更多的危险,比如按键记录器,你在软件层面上是无法战胜的。
发布于 2012-11-08 23:11:13
有可能,您可以简单地使用jQuery将引用缓存状态的“meta标记”替换为事件处理程序/按钮,然后刷新,
$('.button').click(function() {
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$('html[manifest=saveappoffline.appcache]').attr('content', '');
$(this).html(s);
}
});
});
注意:此解决方案依赖于作为HTML5规范一部分实现的应用程序缓存。它还需要服务器配置来设置App Cache清单。它没有描述一种可以通过客户端或服务器端代码清除“传统”浏览器缓存的方法,而这几乎是不可能做到的。
发布于 2017-01-21 18:31:31
使用html是used.The的一个技巧就是在itself.There标签中的文件名后附加一个参数/字符串,并在文件发生变化时对其进行更改。
<script src="myfile.js?version=1.0.0"></script>
浏览器会将整个字符串解释为文件路径,即使"?“是参数。因此,现在发生情况是,下次当您更新文件时,只需更改网站(例如<script src="myfile.js?version=1.0.1"></script>
)上的脚本标记中的编号,每个用户的浏览器都会看到该文件已更改,并抓取一个新的副本。
发布于 2016-09-15 15:37:49
最好的办法是用name +一些hash来生成js文件,如果你确实需要清除缓存,就用新的hash生成新的文件,这会触发浏览器加载新的文件。
https://stackoverflow.com/questions/8155064
复制相似问题