没有caching的UIwebview

我想加载一个没有caching的webview?

//Create a URL object. NSURL *url = [NSURL URLWithString:urlAddress]; //URL Request Object NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; //Load the request in the UIWebView. [kdgWebView loadRequest:requestObj]; 

感谢帮助。

让。

Objective-C的:

 // Remove and disable all URL Cache, but doesn't seem to affect the memory [[NSURLCache sharedURLCache] removeAllCachedResponses]; [[NSURLCache sharedURLCache] setDiskCapacity:0]; [[NSURLCache sharedURLCache] setMemoryCapacity:0]; 

你可以在http://blog.techno-barje.fr/post/2010/10/04/UIWebView-secrets-part2-leaks-on-release/find更多的信息。

迅速:

 NSURLCache.sharedURLCache().removeAllCachedResponses() NSURLCache.sharedURLCache().diskCapacity = 0 NSURLCache.sharedURLCache().memoryCapacity = 0 

您可以使用以下代码更改caching策略:

 NSURLRequest *requestObj = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval: 10.0]; 

我试图在这里回答类似的问题。 我希望这对你有用! 最后一个解决scheme适用于HTML,但不适用于图像,CSS和js链接在HTML。

如何清除UIWebViewcaching?

我已经尝试了所有这些解决scheme,但是他们都没有每一次都工作。 我的主要testing是一个HTML页面,图像设置为HTML页面的背景。 这个HTML页面和图像通过我写的“同步”方法在本地iPad上下载。 保持caching完全重置的唯一方法是不断更改html页面中的图像的URL,以便每次都认为它是唯一的图像。 例如在我的HTML:

 <body background="image.png?v123"> 

所以每个页面的变化我让我必须更新版本号:

 <body background="image.png?v1234"> 

等等,你可以改变你想要的url,它只是有所不同。

那么我厌倦了这样做。 现在,当我在本地下载内容时,我将dynamic更改包含文件夹的名称。 由于这个文件夹是一个父文件夹,我的所有链接都是相对的,这意味着我不必每次都编辑我的html文件。 到目前为止,它似乎工作正常。 我希望这些其他方法是一致的,因为简单地重置高速caching将是非常容易的。

所以在我的请求其baseURL导致我的caching重置,而不是查询string我的url或背景图像,或CSS文件等,等等

 NSString *myURL = @"index.html"; NSURL *baseURL = [NSURL fileURLWithPath:@"FULL_PATH_TO_DOCS/MYFOLDERV123"]; [myTargetWebView loadHTMLString:myURL baseURL:baseURL];