Flutter:WebView和H5通信
生活随笔
收集整理的這篇文章主要介紹了
Flutter:WebView和H5通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前項目里用的flutter_inappbrowser插件,最近升級flutterSDK之后之前的和H5通信的方法改了,改的我一塌糊涂而且這個插件現在好像也搜不到了,應該是年久失修棄用了,于是乎我換用了flutter_inappwebview,下面上代碼說明
flutter端:
InAppWebView(initialUrl: "http://www.xxx.com,onWebViewCreated: (InAppWebViewController controller){webView = controller;//傳值給HTMLwebView.addJavaScriptHandler(handlerName:'haha', callback: (args) {//此處建議寫成json形式,我自己試了直接傳一個字符串到H5,收到的是null,我也沒看源碼直接就用上了,有好學的小伙伴可以自己研究下如何傳單一的字符串return {'skill': '銀河星爆'};});//接收HTML傳值webView.addJavaScriptHandler(handlerName: 'hehe', callback: (args) {print(args);//打印結果//[saga, true, [sex, 28], {bro: kanon}, {skill: 銀河星爆}]});}, )web端:
<script type="text/javascript">//callHandler里的字符串一定要和flutter端的handlerName對應的名稱相同window.addEventListener("flutterInAppWebViewPlatformReady", function(event) { window.flutter_inappwebview.callHandler('haha') .then(function(result) {//接受到的值alert(result["skill"]);//傳回flutter的值,result就是剛剛接受到的值window.flutter_inappwebview .callHandler('hehe', 'saga', true, ['sex', 28], {bro: 'kanon'}, result);}); }); </script>結束~
總結
以上是生活随笔為你收集整理的Flutter:WebView和H5通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工具:Excel使用指南
- 下一篇: 红楼梦里的槟榔是什么