我想加载一个没有缓存的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];
URLCache.shared.removeAllCachedResponses()
URLCache.shared.diskCapacity = 0
URLCache.shared.memoryCapacity = 0
您可以使用以下代码更改缓存策略:
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval: 10.0];
<body background="image.png?v123">
所以每次我更改页面时,都必须更新版本号:
<body background="image.png?v1234">
等等,你可以按任何方式更改URL,它只需要不同就行。
我已经厌倦了这样做。现在,当我本地下载内容时,我会动态更改包含文件夹的名称。由于这个文件夹是父文件夹,而我的所有链接都是相对的,这意味着我不必每次编辑我的HTML文件。到目前为止,它似乎工作得还不错。如果这些其他方法保持一致,那么重置缓存将变得非常容易。
因此,在我的请求中,是基本URL导致我的缓存重置,而不是查询字符串到我的URL或背景图像、CSS文件等等。
NSString *myURL = @"index.html";
NSURL *baseURL = [NSURL fileURLWithPath:@"FULL_PATH_TO_DOCS/MYFOLDERV123"];
[myTargetWebView loadHTMLString:myURL baseURL:baseURL];