Web组件通过javaScriptProxy方法注册多个javascript对象,只会保留最后一个注册的javascript对象

现在需要注册多个对象,但是发现通过javaScriptProxy方法注册多个对象时,会冲掉之前注册的对象,只会保留最后一个注册的对象。

HarmonyOS
2024-11-06 09:17:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

​Web组件暂不支持javaScriptProxy属性方法注入多个JavaScript对象,最后注入的对象会覆盖之前的。可以在例如Web组件onControllerAttached生命周期中通过WebviewController.registerJavaScriptProxy接口注入多个JavaScript对象。

示例代码​:

Web({ src:‘www.harmonyOS.com’, controller: this.webviewController }) 
  .onControllerAttached(() => { 
    try { 
      this.webviewController.registerJavaScriptProxy(this.testObjtest1, 'JSBridge1', ['toString','test']); 
      console.error(`Invoke webviewController.registerJavaScriptProxy JSBridge1 succeed!`); 
      this.webviewController.registerJavaScriptProxy(this.testObjtest2, 'JSBridge2', ['test','toString']); 
      console.error(`Invoke webviewController.registerJavaScriptProxy JSBridge2 succeed!`); 
    } catch (err) { 
      console.error(`Invoke webviewController.registerJavaScriptProxy failed! err: ${JSON.stringify(err)}`); 
    } 
  })

​参考链接:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-webview-V5#registerjavascriptproxy

分享
微博
QQ
微信
回复
2024-11-06 15:47:27
相关问题
如何判断一个对象是否在对象数组中
2376浏览 • 1回复 待解决
PersistentStorage如何持久化一个对象?
2789浏览 • 1回复 待解决
如何定义一个未知类型对象
808浏览 • 2回复 待解决
原生调用html中javascript实现。
343浏览 • 1回复 待解决
如何在Native侧构建一个ArkTS对象
2101浏览 • 1回复 待解决
如何判断一个对象实现了某个接口
1375浏览 • 1回复 待解决
DevEco编译报错:Invalid JavaScript file path
3572浏览 • 0回复 待解决
eTS 比 Javascript 有什么优势呢?
16741浏览 • 1回复 已解决