【问题标题】:Flutter InAppWebView - opening other website addresses in the browserFlutter InAppWebView - 在浏览器中打开其他网站地址
【发布时间】:2021-03-29 08:12:59
【问题描述】:

我在使用 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

【问题讨论】:

    标签: flutter flutter-inappwebview


    【解决方案1】:

    您可以将shouldOverrideUrlLoading:() 用于 InAppWebView。

                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;
                  }
                },
    

    【讨论】:

      猜你喜欢
      • 2015-05-10
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 2022-11-30
      • 2020-02-15
      • 2018-08-24
      相关资源
      最近更新 更多