是否有可能当的UIWebView(iPhone)已完成加载URL来启动的事件。

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

有帮助吗?

解决方案

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

- (void)webViewDidFinishLoad:(UIWebView *)webView

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

webView.request.URL

其他提示

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

然后我发现这个例子中,其中至少工作比任何其他溶液I在谷歌/ StackOverflow的发现要好得多。

UIWebView的负荷完成跟踪器

<强>非常简单的方法:

<强>步骤1:在头文件中设置代表UIWebViewDelegate

<强>步骤2:添加以下webViewDidFinishLoad方法获取webview的当前URL

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

    //-- Add further custom actions if needed 
}

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

然而!

从UIWebViewDelegate的文档,从苹果: “webViewDidFinishLoad:一个web视图之后发送完成加载一帧”。

框!=页面。

该页面“加载完成”当

webViewDidFinishLoad被调用。它也可以在此之前多次调用。来自Amazon.com页面加载可产生一打调用webViewDidFinishLoad。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top