UIWebView完成加载事件
答
是的,那是可能的。使用UIWebViewDelegate
协议,并在委托执行下面的方法:
webView.request.URL
答
非常简单的方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView
如果你想要的网址,你可以使用属性request
获得的最后一个请求
步骤1:在代理文件中设置代理UIWebViewDelegate
。
第2步:下面webViewDidFinishLoad
方法添加得到的webview
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"Current URL = %@",webView.request.URL);
//-- Add further custom actions if needed
}
答
没有找到解决方案的工作对我来说当前的URL。
然后我发现这个例子至少比我在Google/StackOverflow上找到的任何其他解决方案都更好。
答
帕斯卡的回答为 “获取URL” 的部分是好的。
但是!
从Apple的UIWebViewDelegate文档: “webViewDidFinishLoad:在Web视图完成加载帧后发送。”
Frame!= Page。
当页面“完成加载”时调用webViewDidFinishLoad。在此之前它也可以被调用很多次。来自Amazon.com的页面加载可以生成对webViewDidFinishLoad的十几个调用。
如果您控制页面源,那么您可以对其进行负载测试,并且对于该情况它将起作用。如果您只关心在页面加载完成后调用,那么webViewDidFinishLoad就足够了。
对于任意页面,使用任意JavaScript,永久加载广告横幅或自动滚动横幅,或实现视频游戏,页面被“完成加载”的想法是错误的。
谢谢:)它的工作:) – ishhhh 2013-07-02 12:20:52
抱歉唤醒一个死的话题,但没有(UIWebview *)的webView,是webView你的webview名称的出口名称? – 2014-02-09 19:12:15
@CameronTarbell这是一个委托方法,它将通过Web视图传递,完成加载'webView'变量,与您的出口名称无关。 – Pascal 2014-02-10 20:18:13