Возможно ли запустить событие, когда UIWebView (Iphone) завершил загрузку URL-адреса.UIWebView завершена загрузка Событие
Как я могу узнать текущий URL-адрес UIWebView?
Возможно ли запустить событие, когда UIWebView (Iphone) завершил загрузку URL-адреса.UIWebView завершена загрузка Событие
Как я могу узнать текущий URL-адрес UIWebView?
Да, это возможно. Используйте протокол UIWebViewDelegate
и реализовать следующий метод в делегатом:
- (void)webViewDidFinishLoad:(UIWebView *)webView
Если вы хотите URL, вы можете получить последний запрос, используя свойство request
:
webView.request.URL
Очень простой метод:
Шаг 1: Установите делегат UIWebViewDelegate
в заголовочный файл.
Шаг 2: Добавить следующий webViewDidFinishLoad
метод, чтобы получить текущий URL из webview
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"Current URL = %@",webView.request.URL);
//-- Add further custom actions if needed
}
Ни один из найденных решений не работает для меня.
Тогда я нашел этот пример, который по крайней мере работает намного лучше, чем любое другое решение, которое я нашел в Google/StackOverflow.
ответ Паскаля для "Получение URL" часть в порядке.
Однако!
Из документации UIWebViewDelegate, от Apple: «webViewDidFinishLoad: отправлено после того, как веб-просмотр завершает загрузку фрейма».
Рамка = Страница.
webViewDidFinishLoad вызывается, когда страница «загружена». Его также можно назвать много раз до этого. Загрузка страницы с Amazon.com может генерировать дюжину звонков в webViewDidFinishLoad.
Если вы контролируете источник страницы, тогда вы можете сделать тест нагрузки для него, и он будет работать в этом случае. Если вам все равно, что вы вызываете «после загрузки страницы», тогда webViewDidFinishLoad является достаточным.
Для произвольных страниц, с произвольным JavaScript, для загрузки рекламных баннеров навсегда или для автоматической трансляции баннеров или для реализации видеоигры сама идея создания «сделанной загрузки» является неправильной.
Спасибо :) Это сработало :) – ishhhh
Извините, что разбудил мертвую тему, но делает (UIWebview *) webView, является webView именем выхода вашего веб-представления? –
@CameronTarbell Это метод делегата, он пройдет через веб-представление, которое завершит загрузку с помощью переменной 'webView', независимо от имени вашей розетки. – Pascal