У меня есть приложение на основе WebKit.Когда пользователь инициирует действие, открывающее новую страницу (например, щелкая ссылку), я хотел бы перехватить этот URL-адрес и выбрать его для открытия в моем приложении или отправить его в Safari.
В идеале, я бы хотел определить первый запрос в последовательности загрузки или тот, который непосредственно возник в результате действия пользователя.В качестве альтернативы может быть достаточно, если бы я мог идентифицировать изменения URL-адреса верхнего уровня во фрейме с оговоркой, что мне нужно иметь возможность отменить запрос, если я решу вместо этого отослать его в Safari.Я реализовал webView: managePolicyForNavigationAction: request: frame: SolutionListener, и я могу видеть все запросы, сделанные во время загрузки страницы.Как запросы, инициированные пользователем, так и запросы, инициированные Javascript, вызовы REST и тому подобное.
Для простых ссылок я могу получить WebActionNavigationType из информации действия.Но если пользователь щелкает элемент с помощью обработчика Javascript onclick (), который, в свою очередь, переходит на другую страницу, тип навигации будет «Другой» и будет неотличим от всех других запросов Javascript (т. Е. Вторичных вызовов REST, являющихся результатом исходногозапрос).
Кто-нибудь еще занимался этим?Есть указатели?Спасибо!