HarmonyOS h5和ArkTS通信

1.ArkTS收到h5的消息时,此时ArkTS端是子线程还是UI线程(怎么判断当前任务是在UI线程还是子线程)

2.controller.runJavaScript() 是否必须在UI线程中调用。

3.我们app的主要业务都是H5的,ArkTS提供基础服务。

比如H5向arkTs申请开户,且开户路径很长,开户结束后告诉H5开户结果。

这种情况下我该怎么设计,是否能全局持有controller,还是整个链路传递一个回调,层层传递。

4.如果我要注入js脚本,什么时机注入合适,比如我要监控页面性能。

HarmonyOS
2024-11-07 10:57:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

​对于上述问题

1:一个应用可能会存在3种进程:主进程,扩展进程和webView渲染进程,ArkTS端是在主进程中,h5则在webview线程中,所以ArkTS和h5不在同一线程中,参考:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/process-model-stage-V5​​和​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/thread-model-stage-V5

2:目前controller.runJavaScript()只能在UI线程中调用。

3:webview初始化,会有一定耗时,为了体验建议使用全局controller + 数值传递方式实现功能。

4:当前webview注入脚本,有两种方式,一种是在web组件初始化时使用JavaScriptProxy()调用。另外一种在web组件初始化完成后调用,使用registerJavaScriptProxy()接口。如果是要监控页面性能,建议使用JavaScriptProxy,在web组件初始化时调用​。

分享
微博
QQ
微信
回复
2024-11-07 16:15:11
相关问题
HarmonyOS h5HarmonyOS怎么通信
76浏览 • 1回复 待解决
HarmonyOS ArkTS主动与H5通信方式是什么
428浏览 • 0回复 待解决
h5与应用端的sdk通信问题
191浏览 • 1回复 待解决
HarmonyOS H5应用侧数据交互
221浏览 • 1回复 待解决
HarmonyOS web原生H5如何交互?
447浏览 • 1回复 待解决
Web中webviewH5交互
1034浏览 • 1回复 待解决
HarmonyOS web组件加载h5h5拉起摄像头
514浏览 • 1回复 待解决
H5页面如何与ArkTS交互
2965浏览 • 1回复 待解决
HarmonyOS webview h5的localstorage
341浏览 • 1回复 待解决
HarmonyOS 折叠屏H5适配问题
695浏览 • 1回复 待解决
HarmonyOS web与H5交互
571浏览 • 1回复 待解决
HarmonyOS H5如何访问相册?
208浏览 • 1回复 待解决
Web组件h5页面如何交互?
168浏览 • 1回复 待解决
HarmonyOS h5页面缩放问题
454浏览 • 0回复 待解决
webview加载Vue h5失败
17723浏览 • 5回复 待解决
HarmonyOS H5代码如何复用?
125浏览 • 1回复 待解决
HarmonyOS web通过loadData加载h5标签
172浏览 • 1回复 待解决
HarmonyOS 应用涉及H5代码,如何使用?
167浏览 • 1回复 待解决
HarmonyOS Web组件加载在线H5页面
173浏览 • 1回复 待解决