如何清除webobjects应用程序中的浏览器缓存?

时间:2014-09-15 09:58:45

标签: ios caching webobjects

在注销操作中,我们使用session的terminate()方法终止会话。但是在注销后,如果我们点击浏览器的后退按钮,我就能看到最后一页的内容,但我无法做任何动作(这很好)。如果我们在注销后清除浏览器缓存,则没有问题。所以我们发现,这是因为浏览器缓存。

因此,请告诉我们如何以编程方式从webobjects应用程序中清除浏览器缓存。

1 个答案:

答案 0 :(得分:0)

我实际上认为在关闭UIWebView时它可能会保留缓存的信息。我试过从我的UIViewController中删除一个UIWebView,释放它,然后创建一个新的。当我回到一个地址而不必重新加载所有内容时(记得我之前的UIWebView已登录),新的记忆中我正好记得我在哪里。

所以有几点建议:

[[NSURLCache sharedURLCache] removeCachedResponseForRequest:NSURLRequest];

这将删除特定请求的缓存响应。还有一个调用将删除在UIWebView上运行的所有请求的所有缓存响应:

[[NSURLCache sharedURLCache] removeAllCachedResponses];

之后,您可以尝试使用UIWebView删除任何关联的cookie:

for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {

    if([[cookie domain] isEqualToString:someNSStringUrlDomain]) {

        [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
    }
}

快乐编码:)

迪帕克