0

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

所以请让我们知道如何以编程方式从 webobjects 应用程序中清除浏览器缓存。

4

1 回答 1

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];
    }
}

快乐编码:)

迪帕克

于 2014-09-15T10:16:43.940 回答