Flutter原生没有类似WebView的控件,借助现网提供的WebView插件即可实现加载网络URI和本地html,其中flutter_inappwebview插件推荐使用。InAppWebView已经实现了一套完整的js通信机制,如果用官方WebView插件,则需要自己实现一套JsBridge同时适用Android和iOS,成本很高。
webview_flutter功能一般,满足基本功能需求,官方出品持续完善中。(不支持H5上传图片)
flutter_inappwebview功能非常丰富,文档非常完善,属于三方库中的精品,推荐使用。
flutter_webview_plugin功能不够完善,现有功能将积极合入webview_flutter,后续不在维护,不建议使用。
flutter_inappbrowser:已停止维护
还有一些X5内核的组件这里不在多讲了,自行测试。
- webview_flutter 是官方维护的 WebView 插件,特性是基于原生和 Flutter SDK 封装,继承 StatefulWidget,因此支持内嵌于 Flutter Widget 树中,这是比较灵活的。但不支持https自制证书强制信任。
- flutter_webview_plugin 则是基于原生 WebView 封装的 Flutter 插件,将原生的一些基本使用 API 封装好提供给 Flutter 调用,因此并不能内嵌于 Flutter Widget 树中,因此在界面的跳转必须得先释放掉,返回后又要重新初始化,所以显示会有很多限制性。
- flutter_inappwebview 与其他WebView插件相比,它的功能 非常丰富:有很多事件 、 方