大家好,在我的 APP 中,我通过继承 NSURLCache 类为缓存创建了自定义类,并实现了将本地文件数据作为缓存数据传递所需的方法。我已经完成了与本教程相同的操作
在我的 APP 中有一个刷新按钮,单击它我必须刷新当前页面为此我已经完成以下操作以加载本地存储的 CSS 和 JS 文件
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
if (isGoingToRefresh) {
[NSURLCache setSharedURLCache:cache];
isGoingToRefresh = NO;
return YES;
}
NSString *path = [mainWebView stringByEvaluatingJavaScriptFromString:@"window.location.pathname"];
path = [NSString stringWithFormat:@"%@%@",[[[AppDelegate sharedAppDelegate]configurationFile]objectForKey:@"RootURL"],path];
[NSURLCache setSharedURLCache:cache];
if ([path isEqualToString:[[request URL]absoluteString]]) {
[self showRefreshLoader];
isGoingToRefresh = YES;
NSURLRequest *localRequest = [NSURLRequest requestWithURL:[request URL] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:240] ;
[webView loadRequest:localRequest];
return NO;
}
return YES;
}
上面的代码通过调用以下 NSURLCache 方法从缓存中加载数据 -
- (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request
但是在 iOS4 webView 上没有调用上面的 NSURLCache 方法。
我不明白为什么请建议我一些好的解决方案。