Windows桌面应用程序中未加载Flutter Web视图

cbeh67ev  于 2022-11-25  发布在  Flutter
关注(0)|答案(2)|浏览(177)
Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: WebView(
        initialUrl: "https://www.google.com/",
        onWebViewCreated: (WebViewController webViewController) {
          _controller.complete(webViewController);
        },
      ),
    );
  }

这是我如何解决这个问题的代码片段

efzxgjgh

efzxgjgh1#

在等待Flutter团队正式支持的同时,你可以使用flutter-webview-windows包,它增加了对Flutter上Windows webview的支持,并可以在webview和Flutter应用之间进行通信(更详细的here)。

final _controller = WebviewController();

@override
void initState() {
  super.initState();
  _init();
}

void _init() async {
  await _controller.initialize();
  await _controller.loadUrl('https://flutter.dev');

  if (!mounted) return;
  setState(() {});
}

@override
void dispose() {
  super.dispose();
  _controller.dispose();
}

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(title: const Text('Webview')),
    body: _controller.value.isInitialized
        ? Webview(_controller)
        : const Text('Not Initialized'),
  );
}
umuewwlo

umuewwlo2#

webview_flutter插件doesn't exist for Windows yet,事实上还不可能写,因为PlatformView支持没有在Windows上实现。(如文档所述:“目前很少有插件真正支持桌面”。)
目前,如果你想在你的应用程序中有一个web视图,它需要在一个单独的窗口中,你需要编写一个插件来创建和管理那个窗口和web视图。

相关问题