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