flutter_webview_plugin 包的 clearCache 不起作用

Posted

技术标签:

【中文标题】flutter_webview_plugin 包的 clearCache 不起作用【英文标题】:clearCache of flutter_webview_plugin package doesn't work 【发布时间】:2019-10-05 19:17:54 【问题描述】:

我在 Flutter 项目中使用 WebView_plugin。我可以加载我自己的网站。但是我的网站更新不存在。我猜是缓存问题。

我尝试传递一些选项,例如:clearCacheappCacheEnabled,但我的网站更新不存在。

我如何实例化我的 webview:

dart 
    final webView = WebviewScaffold(
      url: url,
      clearCache: true, // <-- I don't want cache 
      appCacheEnabled: false, // <-- I don't want cache
      initialChild: Container(
        color: Colors.white,
        child: const Center(
          child: const CircularProgressIndicator(),
        ),
      ),
      withZoom: false,
      withLocalStorage: true,
      hidden: true,
    );

在我的pubspec.yaml:

dependencies:
  flutter_webview_plugin: ^0.3.5

如何清除缓存?

【问题讨论】:

【参考方案1】:

试试吧,先是clearCache: true,然后是appcacheEnable: false

    dart 
        final webView = WebviewScaffold(      
          clearCache: true, // <-- first clearCache
          appCacheEnabled: false, // <--after it :3
          url: url,
          initialChild: Container(
            color: Colors.white,
            child: const Center(
              child: const CircularProgressIndicator(),
            ),
          ),
          withZoom: false,
          withLocalStorage: true,
          hidden: true,
        );

【讨论】:

根据命名参数的工作方式,这真的不可能,对吧?【参考方案2】:

最简单的方法是,在url中添加一个随机生成的数字作为参数。

像这样:

class WebView extends StatelessWidget 
  final String url;
  WebView(this.url);

  @override
  Widget build(BuildContext context) 
   final randNum = Random().nextInt(1000);
    return WebviewScaffold(
      appBar: AppBar(
        title: Text("My Web"),
      ),
      url: "$url?id=$randNum",
      hidden: true,
      initialChild: CircularProgressIndicator(),
    );
  

【讨论】:

以上是关于flutter_webview_plugin 包的 clearCache 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

flutter_webview_plugin ?????????????????????????????????

flutter_webview_plugin 与dart页面跳转使用

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

颤振flutter_webview_plugin错误[NSNull长度]:无法识别的选择器发送到ios上的实例

我可以使用 flutter_webview_plugin 在 appBar 中实现菜单吗?

如何在flutter中使用flutter_webview_plugin和AndroidX