2014-05-08 73 views
1

我的问题是,我只请求一个url请求加载,但服务器使web视图加载了一堆其他的东西。有没有办法知道方法webViewDidFinishLoad:哪个网址被加载?

有一个名为webViewDidFinishLoad:的委托方法,它将作为参数传递给加载完成的webview。

问题是:有什么方法可以知道加载哪个请求?

+1

是'web视图:shouldStartLoadWithRequest:navigationType :'呼吁这些其他人? – rmaddy

+0

是的,但是它们加载的顺序可能与它们最终加载的顺序不同。 –

+0

如果一次只完成一个请求,我可能在我的上一条评论中出错。 –

回答

0

你刚才1的方式来知道你的WebView实际要求:

NSURLRequest *request = webview.request; 

,你可以监视通过该方法开始请求:

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

假设webview.request是加载的最后一个请求,这将是正确的答案。谢谢!你知道一次只能加载1个请求,或者多个请求可以异步加载吗? –

+1

对你的希望只有1 :)但我建议阅读关于webview加载框架等时调用的方法shouldStartLoadWithRequest的Apple文档。 –

+0

然后,正确的方法是存储正在加载的请求(从shouldStartLoadWithRequest中检索:)在一个变量,因为webview.request只是由用户完成的请求(如我已经证实:http://s29.postimg.org/u44zjvrja/Captura_de_pantalla_2014_05_09_a_la_s_10_22_39.jpg)。请更新答案。 –

相关问题