HarmonyOS webview页面非顶层路由点击返回会直接关闭窗口

Consulting description: webview嵌入hash路由h5页面,h5页面再路由跳转,点击页面左上角返回,会直接关闭窗口,不会执行webview的后退

代码如下:

processBackPress(): void { 
  if (Global.getInstance().getCache("onHistoryBackCallId")) { 
  this.jsBridge.callback(Global.getInstance() 
  .getCache("onHistoryBackCallId") as string, `{"errMsg":"onHistoryBack:ok"}`); 
  Global.getInstance().removeCache("onHistoryBackCallId"); 
  return; 
} else { 
  if (this.webController.accessBackward()) { 
    this.webController.backward(); 
  } else { 
    router.back(); 
  } 
} 
 
}
HarmonyOS
2024-09-04 11:26:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以尝试从以下方面尝试:

1、多窗口打开,在多窗口的监听事件中重新跳到一个页面,可以通过监听事件来捕捉窗口的状态变化。参考文档:onWindowNew:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-web-V5#onwindownew9

2、router.back空调(页面栈为空时)会关闭app。提供给h5关闭webview的js方法,直接使用router.back,未对webview实例是否存在进行校验,导致极端场景出现应用退出或回退两个页面的情况。应增加webview实例是否存的判断。

分享
微博
QQ
微信
回复
2024-09-04 16:14:56
相关问题
HarmonyOS 路由返回页面问题
529浏览 • 0回复 待解决
HarmonyOS窗口页面返回事件无效
173浏览 • 1回复 待解决
HarmonyOS窗口跳转页面返回问题
412浏览 • 1回复 待解决
HarmonyOS Popup拦截页面点击事件
126浏览 • 1回复 待解决
HarmonyOS窗口路由切换问题
246浏览 • 1回复 待解决
dialog跳转新页面返回后dialog关闭
488浏览 • 1回复 待解决
HarmonyOS 关闭窗口前如何弹出提示?
294浏览 • 1回复 待解决
HarmonyOS关闭app直接退到桌面
141浏览 • 1回复 待解决