2014-01-27 2 views
0

Мне нужно перехватить клик по UIWebView в рекламе предварительного ролика видео и отобразить это в новом всплывающем окне, а не в UIWebView, который довольно мал на экране.Перехват клика в UIWebView на iOS

Проблема в том, что я не знаю, какие URL-адреса нажали, а также что эти клики обрабатываются с помощью Javascript на странице. Также будут отображаться сообщения Javascript/отслеживание вызовов из UIWebView в фоновом режиме.

Есть ли в любом случае, чтобы обнаружить, что UIWebView открывает новую страницу, и вместо того, чтобы отображать, что на месте это будет отображаться во всплывающем окне?

+0

Внедрить '- webView: shouldStartLoadWithRequest: navigationType:' и проверить параметр 'navigationType'. –

ответ

0

Большой вопрос. Все, что вам нужно сделать, это реализовать UIWebViewDelegate protocols.

Этот метод:

  • (BOOL) Webview: (UIWebView *) Webview shouldStartLoadWithRequest: (NSURLRequest *) запрос navigationType: (UIWebViewNavigationType) navigationType

, скорее всего, один вы будете использовать для обнаружить все события, происходящие в UIWebView.

+0

Не уверен, что это будет работать, поскольку проигрыватель, который работает внутри Webview, имеет несколько вещей, которые могут произойти в отношении кликов, например. в зависимости от того, где находится клик, он также может приостанавливать видео, а также открывать добавление. Просмотр доступного UIWebViewNavigationType https://developer.apple.com/library/ios/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html#//apple_ref/doc/c_ref/UIWebViewNavigationType. Я также не уверен, что я получу UIWebViewNavigationTypeLinkClicked в случае запуска Javascript. – Andrew

Смежные вопросы