首页 > 解决方案 > DataCamp Light在flutter webview中不起作用

问题描述

我正在编写一个在 Flutter 中显示 WebView 的应用程序。为此,我将webview_flutter包添加到我的pubspec.yaml喜欢中:

  dependencies:
    webview_flutter: "^0.3.18+1"

我想显示这个网址:https ://cran.r-project.org/web/packages/tutorial/vignettes/tutorial-basics.html

所以我做了以下事情:

class WebViewExample extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
        body: Container(
            child: WebView(
              initialUrl: 'https://cran.r-project.org/web/packages/tutorial/vignettes/tutorial-basics.html',
              javascriptMode: JavascriptMode.unrestricted,
              userAgent: "Google Chrome Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36.",
            )
        )
    );

  }
}

一切都按预期工作,除非我尝试运行R代码。Datacamp 小提琴尝试设置工作区,但随后我得到:“您的会话已断开连接”,尽管它在浏览器中运行良好。

在此处输入图像描述

我也尝试flutter_webview_plugin了相同的结果。

有什么建议运行这个吗?

标签: rflutterwebviewflutterwebviewplugin

解决方案


您可以为您的 . 使用完成器WebView并在onWebViewCreated()

final Completer<WebViewController> _controller =Completer<WebViewController>();
WebView(
      initialUrl: selectedUrl,
      javascriptMode: JavascriptMode.unrestricted,
      onWebViewCreated: (WebViewController webViewController) {
        _controller.complete(webViewController);
      },
    )

推荐阅读