UIWebView完成加载事件
当UIWebView(Iphone)完成加载URL时,是否可以启动事件?
我怎样才能找出UIWebView的当前url?
最好的祝福,
安德烈亚斯
是的,这是可能的。 使用UIWebViewDelegate
协议并在您的委托中实现以下方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView
如果您需要URL,您可以使用属性request
获取最后一个request
:
webView.request.URL
没有find解决scheme为我工作。
然后我发现这个例子至less比我在Google / StackOverflow上find的任何其他解决scheme都要好得多。
UIWebView的负载完成跟踪器
非常简单的方法:
第1步:在头文件中设置委托UIWebViewDelegate
。
第2步:添加以下webViewDidFinishLoad
方法来获取当前webview
URL
- (void)webViewDidFinishLoad:(UIWebView *)webView { NSLog(@"Current URL = %@",webView.request.URL); //-- Add further custom actions if needed }
帕斯卡的“获取URL”部分的答案是好的。
然而!
从Apple的UIWebViewDelegate文档:“webViewDidFinishLoad:在Web视图完成加载帧后发送”。
帧!=页。
webViewDidFinishLoad在页面“完成加载”时被调用。 在此之前也可以多次调用。 来自Amazon.com的页面加载可以生成一打到webViewDidFinishLoad的调用。
如果您控制页面源,那么您可以对其进行负载testing,对于这种情况,它将起作用。 如果你只关心在页面加载完成后调用,那么webViewDidFinishLoad就足够了。
对于任意页面,使用任意JavaScript,永久加载广告横幅或自动滚动横幅,或者实现video游戏,页面被“完成加载”的想法是错误的。