为啥 Flutter WebView 不加载页面?

Posted

技术标签:

【中文标题】为啥 Flutter WebView 不加载页面?【英文标题】:Why is Flutter WebView not loading page?为什么 Flutter WebView 不加载页面? 【发布时间】:2021-12-03 10:39:37 【问题描述】:

我正在制作一个简单的屏幕,其中包含封装在 Scaffold 内的 WebView。 WebView 上方有一个按钮。 WebView 未加载页面。但是,当 WebView 未封装在 Scaffold 内时,页面会加载。我需要将 Scaffold 作为容器来添加其他小部件。如何让 WebView 在 Scaffold 中加载其页面。

Scaffold 中包含 WebView 的代码。 WebView 不加载

return MaterialApp(
      home: Scaffold(
          body: Column(
          mainAxisAlignment: MainAxisAlignment.center,
            children: [
              TextButton(
                onPressed: () 
                 
                ,
                child: Text('Print page'),
              ),
              WebView(
                initialUrl: 'https://flutter.dev',
              )
          ],),),
    );

仅包含 WebView 的代码。 WebView 不加载

   return MaterialApp(
      home: WebView(
        initialUrl: 'https://flutter.dev',
      ),
    );

【问题讨论】:

如果你使用的是 Webview 的 Flutter 社区插件。然后你需要使用 WebViewScaffold。请查看此媒体链接medium.com/@zeyadelosherey/… 【参考方案1】:
******Give Internet Permission in android Manifest.xml file and the permission is below

https://***.com/questions/55603979/why-cant-a-flutter-application-connect-to-the-internet-when-installing-app-rel


<manifest xmlns:android="...">
  <uses-permission android:name="android.permission.INTERNET"/>
</manifast>

【讨论】:

medium.com/flutter/…【参考方案2】:

此代码对我有用。试试这个

return Scaffold(
  appBar: AppBar(
    title: Text('test'),
  ),
  body: Column(
    children: [
      RaisedButton(
        onPressed: () ,
        child: Text('Test'),
      ),
      Expanded(
        child: WebView(
          initialUrl: 'https://flutter.dev',
          javascriptMode: JavascriptMode.unrestricted,
        ),
      ),
   
    ],
  ),
);

【讨论】:

以上是关于为啥 Flutter WebView 不加载页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中重新加载 webview?

使用flutter_webview_plugin加载页面后如何在WebView中执行JavaScript代码

flutter_webview_plugin 加载全屏页面的简单使用

为啥android Webview默认不检查缓存?

Mac OS/WebView:为啥加载本地页面时无法使用 Flash 和其他插件?

为啥我不能使用 Webview 加载我的本地页面