Открытие ссылок в стороннем браузере - Flutter, WebView
Есть WebView и в нём я открываю свою веб-страницу. В моей веб-странице есть ссылка на Википедию (<a href="https://ru.wikipedia.org">Wikipedia</a>). Эта ссылка открывается у меня в WebView, а нужно чтобы в стороннем браузере. Причём, открывать нужно ссылки именно такого типа, а сами страницы моего сайта внутри WebView. Как это можно реализовать? Использую данный плагин. Заранее спасибо за ответ :)
Ответы (1 шт):
Автор решения: dinario
→ Ссылка
Используйте webview_flutter в связке с url_launcher.
Нужно проверить url и вызвать _launchUrl.
WebView(
initialUrl: 'https://flutter.dev',
navigationDelegate: (NavigationRequest request){
if(request.url.startsWith('https://flutter.dev')){
return NavigationDecision.navigate;
}
_launchURL(request.url);
return NavigationDecision.prevent;
},
)
Функция открытия ссылки в браузере:
_launchURL(String url) async {
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}