我正在創建一個應用程序,其中有一個文本字段& 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