没有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];
迅速:
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];