多亏了使用Webview时的以下代码,我做到了这一点
navigationDelegate: (NavigationRequest request) {
if (request.url.startsWith('https://google.com/')) {
print('allowing navigation to $request');
return NavigationDecision.navigate;
} else {
print('Opening Default Browser');
launchURL(request.url); // to open browser
return NavigationDecision.prevent;
}
},
但是当我使用inappwebview时,上面的代码不起作用。使用Inappwebview时,如何在浏览器中打开外部网址?
InAppWebView:https://pub.dev/packages/flutter_inappwebview
发布于 2020-12-20 02:52:32
您可以为InAppWebView使用shouldOverrideUrlLoading:()
。
shouldOverrideUrlLoading: (controller, shouldOverrideUrlLoadingRequest) async {
var url = shouldOverrideUrlLoadingRequest.url;
var uri = Uri.parse(url);
if ((uri.toString()).startsWith('https://google.com')) {
return ShouldOverrideUrlLoadingAction.ALLOW;
}else {
launchURL(uri.toString());
return ShouldOverrideUrlLoadingAction.CANCEL;
}
},
https://stackoverflow.com/questions/65361014
复制相似问题