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