我注意到在我的webView中,我在发出请求时设置了缓存策略,在viewDidLoad中,
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
缓存将仅首次运行,当我单击网页中的另一个按钮以继续后续页面时,webView会忽略缓存策略,使其仅在网页的第一页上加载更快。随后的页面加载速度非常慢。
如何解决此问题:使所有后续页面的加载速度与webView中第一次加载的页面一样快?
答案 0 :(得分:0)
嗯,我想我现在找到了解决方案并回答了我自己的问题。好像我可以把
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:120]; ]
的webView委托内的
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
如果navigationType等于UIWebViewNavigationTypeLinkClicked
,则使用允许我设置缓存策略的方法发出新请求。