HarmonyOS 原生和H5页面交互

原生和H5交互应该如何传值和调用方法,有没有demo或者文档?

HarmonyOS
2024-12-25 15:37:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

ArkTS调用 h5 方法

h5 注册 js 函数

dsBridge.registerAsyn('showAlertAsync', function (a, b, c, callback) {
  let counter = 0
  let id = setInterval(() => {
    if (counter < 5) {
      callback(counter, false)
      alert("原生调用JS showAlertAsync函数" + a + " " + b + " " + c + " " + counter)
      counter++
    } else {
      callback(counter, true)
      alert("原生调用JS showAlertAsync函数" + a + " " + b + " " + c + " " + counter)
      clearInterval(id)
    }
  }, 1000)

})

ArkTS侧调用

Button("调用js函数-异步")
  .margin({ top: 10 })
  .onClick(() => {
    this.controller.callJs("showAlertAsync", [1, 2, '666'], (v: string) => {
      this.message = v + ""
    })
  })

h5 调用 ArkTS

h5 js 适配方式

function testClick() {
  dsBridge.call('testClick', "hello", (responseData) => {
    document.getElementById("show").innerHTML = "repsonseData from java, data = " + responseData
  })
}

ArkTS实现对应 testClick 方法

@JavaScriptInterface()
testClick(p: string, handler: CompleteHandler) {
  // p 为 h5 js 侧传递参数
  this.cHandler = handler
  this.cHandler.complete("it is ArkTS default response");
}
分享
微博
QQ
微信
回复
2024-12-25 17:12:15
相关问题
HarmonyOS H5原生交互
346浏览 • 1回复 待解决
HarmonyOS web原生H5如何交互
942浏览 • 1回复 待解决
Web组件h5页面如何交互
537浏览 • 1回复 待解决
HarmonyOS h5原生交互页面状态机
292浏览 • 1回复 待解决
H5页面如何与ArkTS交互
3485浏览 • 1回复 待解决
HarmonyOS webview 怎么H5交互
386浏览 • 1回复 待解决
Web中webviewH5交互
1325浏览 • 1回复 待解决
HarmonyOS H5应用侧数据交互
743浏览 • 1回复 待解决
HarmonyOS h5页面缩放问题
937浏览 • 1回复 待解决
HarmonyOS H5页面加载缓存机制
647浏览 • 1回复 待解决
HarmonyOS H5页面localstorage为null
331浏览 • 1回复 待解决
HarmonyOS webview H5页面事件监听
441浏览 • 1回复 待解决
HarmonyOS web与H5交互
1040浏览 • 1回复 待解决
HarmonyOS Web组件加载在线H5页面
502浏览 • 1回复 待解决
HarmonyOS 通过webview改变H5页面字体
321浏览 • 1回复 待解决