WebView忽略后续页面上的缓存策略

时间:2013-02-19 05:00:19

标签: ios caching webview ignore policy

我注意到在我的webView中,我在发出请求时设置了缓存策略,在viewDidLoad中,

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

缓存将仅首次运行,当我单击网页中的另一个按钮以继续后续页面时,webView会忽略缓存策略,使其仅在网页的第一页上加载更快。随后的页面加载速度非常慢。

如何解决此问题:使所有后续页面的加载速度与webView中第一次加载的页面一样快?

1 个答案:

答案 0 :(得分:0)

嗯,我想我现在找到了解决方案并回答了我自己的问题。好像我可以把

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:120]; ]

的webView委托内的

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

如果navigationType等于UIWebViewNavigationTypeLinkClicked,则使用允许我设置缓存策略的方法发出新请求。