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怎么通信
156浏览 • 1回复 待解决
HarmonyOS ArkTS主动与H5通信方式是什么
533浏览 • 0回复 待解决
h5与应用端的sdk通信问题
251浏览 • 1回复 待解决
HarmonyOS webview 怎么H5交互
58浏览 • 1回复 待解决
HarmonyOS web原生H5如何交互?
528浏览 • 1回复 待解决
HarmonyOS H5应用侧数据交互
292浏览 • 1回复 待解决
Web中webviewH5交互
1099浏览 • 1回复 待解决
HarmonyOS web组件加载h5h5拉起摄像头
589浏览 • 1回复 待解决
H5页面如何与ArkTS交互
3041浏览 • 1回复 待解决
HarmonyOS web与H5交互
719浏览 • 1回复 待解决
HarmonyOS H5如何访问相册?
281浏览 • 1回复 待解决
HarmonyOS webview h5的localstorage
417浏览 • 1回复 待解决
HarmonyOS h5 window.history 无效
66浏览 • 1回复 待解决
HarmonyOS 折叠屏H5适配问题
819浏览 • 1回复 待解决
Web组件h5页面如何交互?
241浏览 • 1回复 待解决
webview加载Vue h5失败
17814浏览 • 5回复 待解决
HarmonyOS H5代码如何复用?
185浏览 • 1回复 待解决
HarmonyOS web通过loadData加载h5标签
244浏览 • 1回复 待解决