Подтвердить что ты не робот

IPhone - UIWebview - Получите URL-адрес ссылки, нажатой

Я создаю приложение, в котором есть текстовое поле и кнопка вверх сверху и вид в Интернете под ними. Когда пользователь вводит URL-адрес в текстовое поле и нажимает кнопку "Перейти", он начнет загрузку страницы в webview. Когда пользователь нажимает на какую-либо ссылку, я хочу показать URL-адрес страницы (загружаемой) в текстовое поле. Как я могу получить URL-адрес ссылки, нажатой.

Также есть некоторые веб-сайты, которые будут перенаправлены на другой сайт. Итак, мой вопрос заключается в том, как показать URL-адрес загружаемой страницы в текстовое поле?

4b9b3361

Ответ 1

Внедрите это в свой класс 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;   
}

Ответ 2

Если вы специально хотите URL-адрес ссылок, нажатых пользователем, найдите его таким образом.

- (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);

Это все, что я нашел после длительного поиска, возможно, это поможет кому-то.

Ответ 3

Для этого используется метод делегата, реализующий его следующим образом:

- (void)webViewDidStartLoad:(UIWebView *)webView {
    NSURL* url = [webView.request URL];
    urlTextField.text = [url absoluteString];
}