HarmonyOS 使用WebViewJavascriptBridge第三方库进行JS交互

使用WebViewJavascriptBridge三方库进行js交互的时候,js端调用原生的方法,原生端如何进行参数传递?

HarmonyOS
2025-01-10 08:51:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

https://ohpm.openharmony.cn/#/cn/detail/@yue%2Fwebview_javascript_bridge是可以实现h5调用的。

参考写法:

var callbackButton2 = document.getElementById('buttons').appendChild(document.createElement('button'))
callbackButton2.innerHTML = '原生注册方法--,h5 从原生获取信息'
callbackButton2.onclick = function (e) {
  e.preventDefault()
  log('JS 调用方法 "getNativeInfo2" 方法')
  bridge.callHandler('getNativeInfo2', { 'key': 'value' }, function (response) {
    log('JS 获取到数据', response)
  })
}

然后在ets中的setupWebViewJavascriptBridge再注册个方法
this._bridge.registerHandler('getNativeInfo2', (data: Object, responseCallback: WVJBResponseCallback) => {
  if (data) {
    this._toast("JS 调用 getNativeInfo2 \n原生接收到参数:" + WebViewJavascriptBridgeTools.jsonStringify(data));
  }
  // 返回数据
  let map: Record<string, Record<string, string>> = {
    "deviceInfo": {
      "types": "测试",
      "debug": "2",
    },
    "userInfo": {
      "userId": "111",
      "member_name": "用户名",
    }
  }
  const jsonStr: string = WebViewJavascriptBridgeTools.jsonStringify(map);
  responseCallback(jsonStr);
});

这就实现了原生向js传递数据,要传什么在返回数据里面传。

分享
微博
QQ
微信
回复
2025-01-10 11:34:35
相关问题
ArkTS不支持使用第三方js
5749浏览 • 1回复 待解决
第三方js迁移有懂的吗?
4623浏览 • 1回复 待解决
HarmonyOS 依赖第三方报错
1401浏览 • 1回复 待解决
native交叉编译第三方
1582浏览 • 1回复 待解决
HarmonyOS ohpm添加第三方报错
1690浏览 • 1回复 待解决
HarmonyOS 编译第三方大数libgmp
1234浏览 • 1回复 待解决
HarmonyOS 使用第三方应用打开
1381浏览 • 1回复 待解决
react-native 第三方使用npm更新
2528浏览 • 1回复 待解决
如何引入自己的“第三方
1935浏览 • 1回复 待解决
HarmonyOS 无法安装第三方ranran/utilcode
1286浏览 • 1回复 待解决
HarmonyOS支持的第三方的列表
2673浏览 • 1回复 待解决
HarmonyOS 如何依赖第三方,比如UUID
1363浏览 • 1回复 待解决
HarmonyOS lottie 第三方报错无法使用
1301浏览 • 1回复 待解决
HarmonyOS 第三方APP跳转
1184浏览 • 1回复 待解决
HarmonyOS如何移植第三方MCU?
11036浏览 • 1回复 待解决
HarmonyOS 如何启动第三方APP
1269浏览 • 1回复 待解决
鸿蒙第三方有哪些引入的方法?
2219浏览 • 1回复 已解决
HarmonyOS 如何加载第三方页面
1047浏览 • 1回复 待解决