Flutter webview插件禁用弹出窗口

5

你尝试过哪些方法?能否给我们提供一些具体的代码以及输出结果与你预期有何不同的信息? - morgan121
你找到任何解决方案了吗? - Robert Williams
你修好了吗? - Martin Wittick
1个回答

1

如果您正在使用webview_flutter,则可以通过在加载URL时阻止重定向请求来防止弹出窗口。利用该软件包的WebViewController,可以在onNavigationRequest上阻止URL。

WebViewController webViewController = WebViewController()
    ..setJavaScriptMode(JavaScriptMode.unrestricted)
    ..setNavigationDelegate(
      NavigationDelegate(
        onProgress: (int progress) {
          // Update ProgressBar
        },
        onPageStarted: (String url) {},
        onPageFinished: (String url) {},
        onWebResourceError: (WebResourceError error) {},
        onNavigationRequest: (NavigationRequest request) {
          if (request.url.startsWith('$BLOCKED_URL_PATTERN')) {
            // Prevent blocked URL from loading on WebView
            return NavigationDecision.prevent;
          }
          return NavigationDecision.navigate;
        },
      ),
    )
    ..loadRequest(Uri.parse('$INITIAL_URL'));

然后在WebView上使用控制器。

WebViewWidget(controller: webViewController)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接