1

Is there anyway to delete my browser cache on post-back programmatically? I am using a jquery function that use ajax on a button click with 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);
}

the problem is that whenever I refresh the page after one minute and even when I close the browser and reopen it the cache still existed

4

3 回答 3

0

JavaScript 只允许在浏览器上做某些事情,访问浏览器的缓存不是其中之一。

但是,您可以使用meta标签控制网页的缓存。

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
于 2013-09-09T12:59:59.510 回答
0

您可以在您的页面上使用这些元标记,表示不缓存

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

但是由于浏览器的安全原因,您无法以编程方式清除浏览器缓存。

于 2013-09-09T15:00:29.873 回答
0

由于浏览器安全原因,您无法通过代码清除浏览器的历史记录,您只能设置 HTTP 标头以告诉浏览器不要访问您的页面,使用以下方法:

缓存控制:无缓存

于 2013-09-09T12:58:27.940 回答