UIWebView中加载完事件(UIWebView finished loading Event)

2019-09-15 19:03发布

是否有可能当一个UIWebView(iPhone)已完成加载URL开始的事件。

我怎样才能找到,在一个UIWebView的当前URL?

Answer 1:

是的,这是可能的。 使用UIWebViewDelegate协议,实施您的委托下面的方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView

如果你想要的网址,你可以使用属性获得的最后一个请求request

webView.request.URL


Answer 2:

找到的解决方案中没有为我工作。

然后我发现这个例子至少比工作的任何其他解决方案,我在谷歌/ StackOverflow上发现要好得多。

UIWebView的负载完成跟踪器



Answer 3:

很简单的方法:

第1步:设置委托UIWebViewDelegate在头文件。

第2步:添加以下webViewDidFinishLoad方法来获取当前URL webview

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"Current URL = %@",webView.request.URL);

    //-- Add further custom actions if needed 
}


Answer 4:

帕斯卡的回答为“获取URL”的部分是好的。

然而!

从UIWebViewDelegate的文档,从苹果:“webViewDidFinishLoad:Web视图后发送加载完成的框架。”

帧!=页。

该页面“加载完成”时webViewDidFinishLoad被调用。 它也可以在此之前多次调用。 来自Amazon.com页面加载可以产生十几个调用webViewDidFinishLoad。

如果你控制页面的源代码,那么你可以做一个负载测试了它,它会工作,这种情况下。 如果你只在乎得到所谓的“页面加载完成后”,然后webViewDidFinishLoad是足够的。

对于任意的页面,与任意JavaScript,加载广告横幅如履薄冰,或者自动滚动条幅,或实现一个视频游戏,网页被“加载完成”的想法也是错误。



文章来源: UIWebView finished loading Event