UIWebView завершил загрузку события - PullRequest
38 голосов
/ 02 ноября 2009

Можно ли запустить событие, когда UIWebView (Iphone) завершит загрузку URL-адреса.

Как узнать текущий URL-адрес UIWebView?

Ответы [ 4 ]

75 голосов
/ 02 ноября 2009

Да, это возможно. Используйте протокол UIWebViewDelegate и реализуйте следующий метод в вашем делегате:

- (void)webViewDidFinishLoad:(UIWebView *)webView

Если вы хотите URL, вы можете получить последний запрос, используя свойство request:

webView.request.URL
2 голосов
/ 02 сентября 2014

Ни одно из найденных решений не сработало для меня.

Затем я нашел этот пример, который, по крайней мере, работает намного лучше, чем любое другое решение, которое я нашел в Google / StackOverflow.

UIWebView-нагрузки завершение трекер

1 голос
/ 14 июля 2016

Ответ Паскаля на часть «получение URL» в порядке.

Тем не менее!

Из документации UIWebViewDelegate от Apple: "webViewDidFinishLoad: отправляется после того, как веб-представление завершает загрузку фрейма."

Frame! = Page.

webViewDidFinishLoad вызывается, когда страница «загружена». Его также можно вызывать много раз до этого. Загрузка страниц с Amazon.com может генерировать десяток вызовов webViewDidFinishLoad.

Если вы управляете источником страницы, вы можете выполнить для него нагрузочный тест, и в этом случае он будет работать. Если вы заботитесь только о том, чтобы вас вызывали «после загрузки страницы», тогда webViewDidFinishLoad подходит.

Для произвольных страниц, с произвольным JavaScript, непрерывной загрузкой рекламных баннеров, автоматической прокруткой баннеров или реализацией видеоигры, сама идея того, что страница «загружается», ошибочна.

1 голос
/ 17 апреля 2014

Очень простой метод:

Шаг 1: Установить делегата UIWebViewDelegate в заголовочном файле.

Шаг 2: Добавьте следующий метод webViewDidFinishLoad, чтобы получить текущий URL webview

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

    //-- Add further custom actions if needed 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...