2013-02-19 79 views
0

我已经注意到了,在我的web视图,我做请求时,在viewDidLoad中所设置的缓存策略高速缓存策略,的WebView忽略后续页

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

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

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

+0

这是因为,您只是使第一个URL具有缓存属性。 – Cyril 2013-02-19 05:29:35

回答

0

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

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

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

的webView的委托里面,如果navigationType等于UIWebViewNavigationTypeLinkClicked,使与这让我设置缓存策略的方法一个新的请求。

+0

嗨,我知道这是相当古老的,但你是如何覆盖UIWebView的行为设置缓存策略为“忽略本地缓存的数据”的后续请求?调用loadRequest之后,您是否刚刚在方法中返回NO:使用新创建的请求? – Vik 2013-08-13 09:39:40