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('信息')
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容