有没有以编程方式在回发后删除我的浏览器缓存?我正在使用一个jquery函数,在使用cache:true
function CallSyncAjax(url, args, resid, EnableCache, ErrorDivID) {
$.ajax({
type: "GET",
url: url,
data: args,
cache: EnableCache,
success: function (data) {
var StrResponse;
StrResponse = data.split('@@@');
if (resid == "1001") {
LoginByAccountRes(StrResponse[0]);
}
}
})
}
C#:
protected override void OnLoad(EventArgs e)
{
// Set Cacheability...
DateTime dt = DateTime.Now.AddMinutes(1);
Response.Cache.SetExpires(dt);
Response.Cache.SetMaxAge(new TimeSpan(dt.ToFileTime()));
// Complete OnLoad...
base.OnLoad(e);
}
问题是每当我在一分钟后刷新页面,甚至当我关闭浏览器并重新打开它时,缓存仍然存在
答案 0 :(得分:0)
由于浏览器安全原因,您无法通过代码清除浏览器的历史记录,您只能设置HTTP标头以告知浏览器不要对您的网页进行操作:
缓存控制:无缓存
答案 1 :(得分:0)
JavaScript只允许在浏览器上执行某些操作,而访问浏览器的缓存不是其中之一。
但是,您可以使用meta
标记来控制网页的缓存。
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
答案 2 :(得分:0)
您可以在页面上使用这些不标记缓存的元标记
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
但是由于浏览器的安全原因,您无法以编程方式清除浏览器缓存。