Откройте определенные ссылки во внешнем браузере, используя Nativescript - PullRequest
0 голосов
/ 07 марта 2019

Я работаю над простым приложением, написанным на Nativescript.

В приложении есть форма входа в систему, которая проходит проверку подлинности по API и в случае успеха загружает веб-просмотр. Так что не так сложно.

Но я хотел бы иметь возможность открывать определенные ссылки в браузере по умолчанию на телефоне, а не в веб-просмотре, например ссылки на внешние сайты.

Можно ли "захватить" все щелчки по ссылке, и если для ссылки задан пустой атрибут target, мы открываем ссылку во внешнем браузере?

Мне нужно решение, которое работает как на iOS, так и на Android.

Возможно ли это сделать в Nativescript?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Да, это можно сделать в NativeScript, но не с компонентом WebView по умолчанию.Я был именно в этой ситуации, и я написал плагин, который настраивает WebView по умолчанию в NativeScript для переопределения стандартного WKUIDelegate в iOS webview и idem для Android.Для iOS WKUIDelegate позволяет обнаруживать, если попытка открыть ссылку с целью _blank с помощью метода webViewCreateWebViewWithConfigurationForNavigationActionWindowFeatures, следовательно, при реализации пользовательского веб-просмотра с этим делегатом разрешает открывать ссылку во внешнем браузере / приложении по вашему желанию.

Взгляните на этот плагин: https://github.com/Notalib/nativescript-webview-ext, чтобы иметь представление о том, как настроить веб-просмотр по умолчанию.

0 голосов
/ 07 марта 2019

Вы можете использовать плагин nativescript-webview-ext и использовать событие shouldOverrideUrlLoading, чтобы проверить URL-адрес и отменить процесс по мере необходимости, а затем использовать метод open url в служебном модуле открыть указанный URL в браузере по умолчанию.

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