HarmonyOS h5和ArkTS通信

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

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

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

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

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

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

HarmonyOS
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
HarmonyOS ArkTS主动与H5通信方式是什么
340浏览 • 0回复 待解决
h5与应用端的sdk通信问题
53浏览 • 1回复 待解决
HarmonyOS H5应用侧数据交互
119浏览 • 1回复 待解决
HarmonyOS web原生H5如何交互?
377浏览 • 1回复 待解决
Web中webviewH5交互
947浏览 • 1回复 待解决
HarmonyOS web组件加载h5h5拉起摄像头
385浏览 • 1回复 待解决
H5页面如何与ArkTS交互
2865浏览 • 1回复 待解决
HarmonyOS web与H5交互
450浏览 • 1回复 待解决
HarmonyOS H5如何访问相册?
30浏览 • 1回复 待解决
HarmonyOS webview h5的localstorage
273浏览 • 1回复 待解决
HarmonyOS 折叠屏H5适配问题
490浏览 • 1回复 待解决
Web组件h5页面如何交互?
66浏览 • 1回复 待解决
webview加载Vue h5失败
17582浏览 • 5回复 待解决
HarmonyOS web通过loadData加载h5标签
38浏览 • 1回复 待解决
HarmonyOS H5代码如何复用?
22浏览 • 1回复 待解决
HarmonyOS h5页面缩放问题
351浏览 • 0回复 待解决
HarmonyOS H5页面加载缓存机制
61浏览 • 1回复 待解决
HarmonyOS H5与应用侧数据交互的Demo
378浏览 • 1回复 待解决