我正在创建一个具有文本字段&顶部的按钮和他们下面的Web视图。 当用户在文本字段中输入URL并单击“开始”按钮时,它将开始在webview中加载页面。 当用户点击某个链接时,我想在文本字段中显示页面的URL(正在加载)。 如何获取点击链接的URL。
还有一些网站会重定向到其他网站。所以我的问题是如何在文本字段中显示正在加载的页面的URL?
答案 0 :(得分:44)
在UIWebViewDelegate类中实现它
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
//CAPTURE USER LINK-CLICK.
NSURL *url = [request URL];
yourTextBox.text = [url absoluteString];
return YES;
}
答案 1 :(得分:13)
如果您特别想要用户点击链接的网址,请以这种方式查找。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSLog(@"link clicked = %@",request.mainDocumentURL);
}
return YES;
}
此外,如果您想要客户端通过点击链接或您特别要求从webView请求的任何请求的网址,请使用
NSLog(@"link clicked = %@",self.webView.request.mainDocumentURL);
如果您想要客户端请求的任何当前URL或您自动打开的页面请求它们,请使用。
NSLog(@"link clicked = %@",self.webView.request.URL);
这是我经过长时间搜索后发现的所有内容,可能会对某人有所帮助。
答案 2 :(得分:5)
为此目的有一个委托方法,像这样实现:
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSURL* url = [webView.request URL];
urlTextField.text = [url absoluteString];
}