HarmonyOS 鸿蒙Next this.webController.accessStep(-1)不起作用

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next this.webController.accessStep(-1)不起作用

web打开两个页面之后,调用this.webController.accessStep(-1)这个为什么不起作用?

2 回复
this.webController.accessStep(-1) 是用来判断是否可后退的,rerult 为 boolean

如先打开A页面,在A点击跳转 B,这时A是存在于历史栈中,accessStep才起作用。

看下这个demo演示:进入页面后,您随便输入搜索内容,进行跳转到新页面,这时可以做回退操作;

import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry @Component struct WebComponent { controller: webview.WebviewController = new webview.WebviewController(); @State steps: number = -1;

build() { Column() { Button(‘accessStep’) .onClick(() => { try { let result = this.controller.accessStep(this.steps); console.log(‘result111111111’ + result); result && this.controller.backward(); } catch (error) { console.error(ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}); } }) Web({ src: https://www.baidu.com, controller: this.controller }) } } }<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

针对您提到的HarmonyOS鸿蒙系统中this.webController.accessStep(-1)不起作用的问题,这通常涉及到Web组件的控制器API调用及其行为定义。在HarmonyOS开发中,webController对象用于管理Web视图的行为,但具体的API行为可能会受到系统版本、API级别以及Web组件实现方式的限制。

accessStep(-1)方法理论上应该用于回退到上一个浏览历史记录,如果该调用无效,可能的原因包括:

  1. 浏览历史为空:如果当前Web视图没有上一个页面,则无法回退。
  2. API限制:在某些HarmonyOS版本或特定配置下,该API可能不可用或被限制。
  3. 实现问题:Web组件或应用的实现方式可能影响了该API的行为。

建议您检查以下几点:

  • 确认Web视图确实存在上一个页面。
  • 查看HarmonyOS的官方文档,确认accessStep方法的适用条件。
  • 检查应用或Web组件的代码,看是否有其他逻辑影响了浏览历史的管理。

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

回到顶部