1、在發起請求時直接從原始地址請求,不讀緩存數據 : NSURLRequestReloadIgnoringCacheData
self.webView = [[WKWebView alloc]initWithFrame:f configuration:configuration];
_webView.navigationDelegate = self;
_webView.backgroundColor = [UIColor clearColor];
_webView.allowsBackForwardNavigationGestures =YES;//打開網頁間的 滑動返回
_webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
//監控進度
[_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
[_webView addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:nil];
[self.view addSubview:_webView];
//進度條
_progressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleDefault];
_progressView.tintColor = _progressViewColor;
_progressView.trackTintColor = [UIColor clearColor];
_progressView.frame = CGRectMake(0, 0, self.view.bounds.size.width, 3.0);
[_webView addSubview:_progressView];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:_url] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:15.0];
//加密header部分
NSString *headerContentStr = [[HeaderModel new] modelToJSONString];
NSString *headerAESStr = aesEncrypt(headerContentStr);
[request setValue:headerAESStr forHTTPHeaderField:@"header-encrypt-code"];
[_webView loadRequest:request];
2、清除緩存
if(@available(iOS 9.0, *)) {
NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];
NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{
NSLog(@"清楚緩存完畢");
}];
}else{
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
}