HarmonyOS 鸿蒙Next 使用webview加载h5页面时,this.controller.accessStep(-1)判断返回上一页未正常退出界面,仍停留当前页

发布于 1周前 作者 ionicwang 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next webview加载h5页面返回判断问题
HarmonyOS 鸿蒙Next 使用webview加载h5页面时,this.controller.accessStep(-1)判断返回上一页未正常退出界面,仍停留当前页,而Android和iOS加载此界面可正常退出

我这边使用webview加载h5页面,使用this.controller.accessStep(-1) 判断是否回到web上一个页面,正常应该退出web界面的 但是还是停留在当前界面,Android、ios同样加载这个界面可以退出,帮忙分析下原因呢


更多关于HarmonyOS 鸿蒙Next 使用webview加载h5页面时,this.controller.accessStep(-1)判断返回上一页未正常退出界面,仍停留当前页的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

this.controller.accessStep(-1) this.controller.backward()返回上一个web页面,但是您提供的demo,只有一个web页面,所以this.controller.backward()肯定是不生效的,this.controller.backward()只有在上一个页面也是web页面才能返回

import { webview } from '[@kit](/user/kit).ArkWeb';
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index {
 controller: webview.WebviewController = new webview.WebviewController();

 build() {
   Column() {
     Row() {
       Button("Add options").onClick((event: ClickEvent) => {
         let options = new webview.BackForwardCacheOptions();
         options.size = 3;
         options.timeToLive = 10;
         this.controller.setBackForwardCacheOptions(options);
       })
       Button("Backward").onClick((event: ClickEvent) => {
         this.controller.backward();
       })
       Button("Forward").onClick((event: ClickEvent) => {
         this.controller.forward();
       })
     }
     Web({ src: "https://www.baidu.com", controller: this.controller })
   }
   .height('100%')
   .width('100%')
 }
}

更多关于HarmonyOS 鸿蒙Next 使用webview加载h5页面时,this.controller.accessStep(-1)判断返回上一页未正常退出界面,仍停留当前页的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,处理webview加载h5页面的返回逻辑时,如果this.controller.accessStep(-1)未能正常退出界面,可能是由于webview的页面返回机制与鸿蒙系统的能力集成存在特定的差异。

首先,确认webview是否已正确捕获并处理了页面的返回事件。在鸿蒙系统中,webview的返回行为可能受到系统级页面栈管理的影响,不同于Android和iOS的标准行为。

其次,检查this.controller.accessStep(-1)的调用上下文,确保其在正确的生命周期阶段被调用,并且webview已完成加载和渲染。

此外,考虑使用鸿蒙系统提供的特定API或事件监听机制来处理webview的返回事件,而非直接使用通用的页面跳转方法。例如,通过监听webview的onPageFinished或类似事件,结合鸿蒙的页面管理能力来实现自定义的返回逻辑。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部