Какао: нажатие на «Смотреть на YouTube» внутри WebView ничего не дает - PullRequest
4 голосов
/ 21 января 2012

У меня есть WebView со встроенным видео на YouTube.Видео воспроизводится нормально, и все в нем работает, кроме нажатия кнопки «Смотреть на Youtube».

Мне бы хотелось, чтобы кнопка «Смотреть на YouTube» открыла видео YouTube в браузере по умолчанию, но в настоящее время он просто не работает.ничего не делать.

У меня установлено WebPolicyDelegate на WebView, но ни:

- (void)webView:(WebView *)webView 
   decidePolicyForNavigationAction:(NSDictionary *)actionInformation
        request:(NSURLRequest *)request
          frame:(WebFrame *)frame
decisionListener:(id<WebPolicyDecisionListener>)listener`

, ни:

- (void)webView:(WebView *)webView 
decidePolicyForNewWindowAction:(NSDictionary *)actionInformation
        request:(NSURLRequest *)request
   newFrameName:(NSString *)frameName
decisionListener:(id<WebPolicyDecisionListener>)listener

вызываются, когдаНажата кнопка «Смотреть на YouTube».

Как определить, что была нажата кнопка «Смотреть на YouTube», чтобы открыть ее в браузере по умолчанию?

1 Ответ

1 голос
/ 13 мая 2012

Кнопка «Смотреть на YouTube» выполняет навигацию в новой вкладке / окне, поэтому вам необходимо реализовать метод WebUIDelegate -webView:createWebViewWithRequest:.По URL-адресу запроса вы должны будете определить, был ли запрос инициирован кнопкой «Смотреть на YouTube» или нет.Узнав об этом, вы можете указать браузеру по умолчанию открыть URL-адрес и вернуть nil из метода делегата, чтобы сообщить WebKit, что вы запрещаете навигацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...