HarmonyOS 路由第二次跳转到webview页面,无法触发webview.once('webInited')方法

//1. 第一次跳转
router.pushNamedRoute({ name: 'webview', params: { identifier: 'A页面的地址' } })

webview注册(可以进入webInited方法):
aboutToAppear() {
  webview.once('webInited', async () => {
    ....
  })
}
//2.第二次跳转
router.pushNamedRoute({ name: 'webview', params: { identifier: 'B页面的地址' } })

跳转后没有进入webInited方法

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

once方法只会订阅一次指定的web事件回调,当事件触发后,回调函数会被执行一次,然后自动取消订阅。即使事件被多次触发,回调函数也只会被执行一次。

once接口官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#once

可以尝试在onPageEnd方法里写业务代码,修改如下

Web({ src: this.src, controller: this.webController }).onPageEnd(()=>{
  try {
    // 自定义UserAgent。
    const uaStr = this.webController.getUserAgent();

    this.webController.setCustomUserAgent(uaStr + '/112222');
  } catch (error) {
    console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
  }
})
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS aioxs二次封装
27浏览 • 1回复 待解决
HarmonyOS 权限二次申请
47浏览 • 1回复 待解决
class二次刷新渲染数组
757浏览 • 1回复 待解决
HarmonyOS webview h5跳转到应用
25浏览 • 1回复 待解决
HarmonyOS cocos引擎能否二次启动
383浏览 • 1回复 待解决
实现二次侧滑退出应用
1867浏览 • 1回复 待解决
HarmonyOS 点击tabs如何跳转到页面
433浏览 • 1回复 待解决
HarmonyOS 跳转到系统设置页面方法
82浏览 • 1回复 待解决
HarmonyOS webview加载页面无法显示
721浏览 • 1回复 待解决