flutter中使用webview_windows插件

在flutter开发安卓和ios时,我常用的webview插件是flutter_inappwebview ,它既能内嵌web页,又能双向通信还能开启本地http服务。但flutter_inappwebview 却不支持windows端。经过各种资料的查找,发现webview_windows插件可以实现相关功能。

可实现的功能:

1、在windows端flutter页面中嵌入一个webview
2、webview前端页与flutter双向通信

使用方法

  • flutter端调用web端,或注入js

flutter端:

///...
///基础使用参考pub.dev
 final _controller = WebviewController();
///...
///调用web端写的ceshi函数,并传入参数
_controller.executeScript("ceshi('参数')");

web端:

function ceshi(param){
    console.log(param)
}
  • flutter端发送消息至web端

flutter端(发送端):

_controller.postWebMessage(json.encode([1,2,3]));

web端(接收端):

window.chrome.webview.addEventListener('message',(e)=>{
  console.log(e)
},false)
  • web端发送消息至flutter端

flutter端(接收端):

_controller.webMessage.listen((event) {
    print(event);
});

web端(发送端):

window.chrome.webview.postMessage('信息')

你可能感兴趣的:(flutter中使用webview_windows插件)