flutter中使用webview_windows插件
2022-12-29 本文已影响0人
xiudaozhe
在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('信息')