You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用webview_flutter报错:WebViewController无未命名构造函数

解决webview_flutter ^4.0.6中WebViewController未命名构造函数错误

在使用webview_flutter 4.0.6版本开发Flutter应用时,初始化WebViewController出现以下错误:

类'WebViewController'没有未命名构造函数。
请尝试使用'WebViewController'中定义的命名构造函数之一。

相关代码

pubspec.yaml

webview_flutter: ^4.0.6

原Dart代码

WebViewController breachWebViewController = WebViewController()
  ..setJavaScriptMode(JavaScriptMode.unrestricted)
  ..setBackgroundColor(const Color(0x00000000))
  ..setNavigationDelegate(
    NavigationDelegate(
      onProgress: (int progress) {
        // Update loading bar.
      },
      onPageStarted: (String url) {},
      onPageFinished: (String url) {},
      onWebResourceError: (WebResourceError error) {},
      onNavigationRequest: (NavigationRequest request) {
        if (request.url.startsWith('https://www.youtube.com/')) {
          return NavigationDecision.prevent;
        }
        return NavigationDecision.navigate;
      },
    ),
  )
  ..loadRequest(Uri.parse('https://flutter.dev'));

问题原因

webview_flutter 4.x版本重构了API,WebViewController的默认(未命名)构造函数被移除,必须使用官方提供的命名构造函数进行初始化。

解决方法

将初始化方式替换为WebViewController.fromPlatform()命名构造函数,其余链式调用逻辑保持不变:

修正后的Dart代码

WebViewController breachWebViewController = WebViewController.fromPlatform()
  ..setJavaScriptMode(JavaScriptMode.unrestricted)
  ..setBackgroundColor(const Color(0x00000000))
  ..setNavigationDelegate(
    NavigationDelegate(
      onProgress: (int progress) {
        // Update loading bar.
      },
      onPageStarted: (String url) {},
      onPageFinished: (String url) {},
      onWebResourceError: (WebResourceError error) {},
      onNavigationRequest: (NavigationRequest request) {
        if (request.url.startsWith('https://www.youtube.com/')) {
          return NavigationDecision.prevent;
        }
        return NavigationDecision.navigate;
      },
    ),
  )
  ..loadRequest(Uri.parse('https://flutter.dev'));

内容的提问来源于stack exchange,提问作者Ahmed Wagdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:22:47