HarmonyOS 原生和H5页面交互

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

HarmonyOS
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
HarmonyOS H5原生交互
31浏览 • 1回复 待解决
Web组件h5页面如何交互
252浏览 • 1回复 待解决
HarmonyOS web原生H5如何交互
562浏览 • 1回复 待解决
HarmonyOS h5原生交互页面状态机
67浏览 • 1回复 待解决
H5页面如何与ArkTS交互
3064浏览 • 1回复 待解决
HarmonyOS webview 怎么H5交互
76浏览 • 1回复 待解决
Web中webviewH5交互
1115浏览 • 1回复 待解决
HarmonyOS H5应用侧数据交互
319浏览 • 1回复 待解决
HarmonyOS h5页面缩放问题
592浏览 • 0回复 待解决
HarmonyOS webview H5页面事件监听
41浏览 • 1回复 待解决
HarmonyOS H5页面localstorage为null
40浏览 • 1回复 待解决
HarmonyOS H5页面加载缓存机制
330浏览 • 1回复 待解决
HarmonyOS web与H5交互
739浏览 • 1回复 待解决
HarmonyOS Web组件加载在线H5页面
275浏览 • 1回复 待解决
如何在HarmonyOS中调试h5页面
960浏览 • 1回复 待解决