flutter js交互传参

加载网页的webView

WebView(initialUrl:'http://test/h5atui//#/mobileMaps?lng=${CommonConfig.lng}&lat=${CommonConfig.lat}',javascriptMode: JavascriptMode.unrestricted,onWebViewCreated: (controller) {_webViewController = controller;},onProgress: (process){setState(() {_processPercent = process / 100;});},onPageFinished: (url) {},javascriptChannels: <JavascriptChannel>[_postUpGo(),_positioningGo(),].toSet(),)

1.js传参给移动端

_postUpGo() {return JavascriptChannel(name: 'postUpGo',onMessageReceived: (JavascriptMessage message) {dynamic value = json.decode(message.message);print('value= $value');var itemType = value['itemType'];var itemId = value['itemId'];var type = value['type'];var wantType = value['wantType'];///根据获取的参数做跳转之类的相应操作});}

2.移动端传参数给web

_positioningGo() {return JavascriptChannel(name: 'positioningGo',onMessageReceived: (JavascriptMessage message) async {var latLng = await LocationUtil().refreshAddressFromLatLng();if(_webViewController!=null && latLng!=null){//移动端调用js函数handleCheckChangeEnd并传参_webViewController.runJavascript('handleCheckChangeEnd("$latLng")');}});}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部