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);
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

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

分享
微博
QQ
微信
回复
2025-01-10 11:34:35
相关问题
ArkTS不支持使用第三方js
4999浏览 • 1回复 待解决
第三方js迁移有懂的吗?
3656浏览 • 1回复 待解决
HarmonyOS 依赖第三方报错
743浏览 • 1回复 待解决
native交叉编译第三方
861浏览 • 1回复 待解决
HarmonyOS ohpm添加第三方报错
892浏览 • 1回复 待解决
HarmonyOS 编译第三方大数libgmp
701浏览 • 1回复 待解决
HarmonyOS 使用第三方应用打开
713浏览 • 1回复 待解决
react-native 第三方使用npm更新
1959浏览 • 1回复 待解决
如何引入自己的“第三方
1272浏览 • 1回复 待解决
HarmonyOS支持的第三方的列表
2154浏览 • 1回复 待解决
HarmonyOS 如何依赖第三方,比如UUID
766浏览 • 1回复 待解决
HarmonyOS lottie 第三方报错无法使用
745浏览 • 1回复 待解决
HarmonyOS 第三方APP跳转
516浏览 • 1回复 待解决
HarmonyOS如何移植第三方MCU?
9997浏览 • 1回复 待解决
HarmonyOS 如何启动第三方APP
614浏览 • 1回复 待解决
HarmonyOS 如何加载第三方页面
449浏览 • 1回复 待解决
HarmonyOS 请提供rn框架和第三方
666浏览 • 1回复 待解决