HarmonyOS Web组件前端页面调用应用侧函数,在页面关闭后再次打开无法触发的问题

@Entry
@Component
export default struct WebView {
  controller: web_webview.WebviewController = new web_webview.WebviewController()
  @State url: string = ''

  build() {
    Column() {
      Web({ src: this.url, controller: this.controller })
        .javaScriptProxy({
          object: this.jsHandler,
          name: "testObjName",
          methodList: ["test"],
          controller: this.controller
        })
    }
    .width('100%')
    .height('100%')
  }
}

上面的代码中通过javaScriptProxy方式注入后,该函数可以在前端页面触发运行,但当页面执行router.back()关闭再次打开页面就无法被触发了。是否有办法让它每次被打开都能触发?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可以写在onControllerAttached回调里,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#oncontrollerattached10

通过registerJavaScriptProxy注册,文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#registerjavascriptproxydeprecated

参考示例:

Web({ src: : this.url,, controller: this.controller }) .javaScriptAccess(true).onControllerAttached(()=>{
  this.controller.registerJavaScriptProxy(this.testOjb, "testObjName", ['toString','test']);
  this.controller.refresh();
})
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS h5前端调用应用侧方法
58浏览 • 2回复 待解决
HarmonyOS Web组件打开pdf页面
66浏览 • 1回复 待解决
HarmonyOS WebView组件前端页面调试
280浏览 • 1回复 待解决
HarmonyOS 页面关闭问题
38浏览 • 1回复 待解决
HarmonyOS 应用访问前端页面方法
87浏览 • 1回复 待解决
HarmonyOS web组件无法打开
61浏览 • 1回复 待解决
鸿蒙web组件再次加载问题
72浏览 • 0回复 待解决