在注销操作中,我们使用session的terminate()方法终止会话。但是在注销后,如果我们点击浏览器的后退按钮,我就能看到最后一页的内容,但我无法做任何动作(这很好)。如果我们在注销后清除浏览器缓存,则没有问题。所以我们发现,这是因为浏览器缓存。
因此,请告诉我们如何以编程方式从webobjects应用程序中清除浏览器缓存。
答案 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];
}
}
快乐编码:)
迪帕克