我正在创建一个应用程序,其中有一个文本字段& go按钮顶部和web视图下方。 当用户在文本字段中输入URL并点击“Go”按钮时,它将开始在webview中加载页面。 当用户点击某个链接时,我想在文本字段中显示正在加载的页面的URL。 如何获取点击链接的URL?iPhone - UIWebview - 获取点击链接的URL
还有一些网站在那里会重定向到其他网站。所以我的问题是如何显示正在加载的文本字段中的页面的URL?
我正在创建一个应用程序,其中有一个文本字段& go按钮顶部和web视图下方。 当用户在文本字段中输入URL并点击“Go”按钮时,它将开始在webview中加载页面。 当用户点击某个链接时,我想在文本字段中显示正在加载的页面的URL。 如何获取点击链接的URL?iPhone - UIWebview - 获取点击链接的URL
还有一些网站在那里会重定向到其他网站。所以我的问题是如何显示正在加载的文本字段中的页面的URL?
在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;
}
有用于该目的的委托方法,实现它是这样的:
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSURL* url = [webView.request URL];
urlTextField.text = [url absoluteString];
}
这工作正常。但一个问题被注意到。这是我进入http://www.yahoo.com和它的加载罚款。但文本字段正在清除。当我点击雅虎页面中的一些链接,然后再正确显示网址。 – Satyam 2011-01-13 13:31:58
如果你特别想通过用户点击链接的网址,然后找到实现此它以这种方式。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSLog(@"link clicked = %@",request.mainDocumentURL);
}
return YES;
}
此外,如果你想要的任何请求的URL,从客户端的请求或者通过胶带由您或webView的特别要求的链路上,使用
NSLog(@"link clicked = %@",self.webView.request.mainDocumentURL);
,如果你想要的任何电流您要么从客户端请求的URL,要么通过您自动打开的页面请求,请使用。
NSLog(@"link clicked = %@",self.webView.request.URL);
这是我经过漫长的搜索后发现的所有,可能会帮助别人。
当我在webview中加载youtube时,这不起作用...任何我想念。请帮忙。 – Warrior 2012-09-15 03:05:35
@Warrior你有没有找到它的东西?我寻找它; http://stackoverflow.com/questions/18692540/get-clicked-linked-on-uiwebview-navigating-on-m-youtube-com-on-ios – theklc 2013-09-09 06:31:50