flutter中webview加载失败时如何从assets中加载html

问题描述 投票:0回答:1

我正在开发一个使用

webview_flutter
插件的 flutter 应用程序。我想在页面加载失败时显示自定义 HTML,所以这是我的代码:

@override
Widget build(BuildContext context) {
return SafeArea(
  child: WebView(
    initialUrl: widget.url,
    javascriptMode: JavascriptMode.unrestricted,
    allowsInlineMediaPlayback: true,
    debuggingEnabled: true,
    userAgent: "",
    onWebViewCreated: (controller) {
      webViewController = controller;
    },
    initialMediaPlaybackPolicy: AutoMediaPlaybackPolicy.always_allow,
    onWebResourceError: (webResourceError) {
      webViewController?.loadFlutterAsset("assets/error.html");
    },
  ),
);
}

onWebResourceError
回调在
onWebViewCreated
之前调用,所以我无法获取控制器

如何解决,谢谢

flutter dart webview assets
1个回答
0
投票

看起来很旧

issue
。 您的解决方案似乎是目前唯一有效的解决方案,因为这个人在这里也做了同样的事情:

https://stackoverflow.com/a/69635976/2976299

© www.soinside.com 2019 - 2024. All rights reserved.