HarmonyOS 如何拦截并阻断系统的右滑返回上一个页面的操作?

当webview里面的历史栈存在多个页面的时候,我们希望右滑返回后退一个页面,而不是将整个webview关闭。尝试重写onBackPress这个方法可以响应右滑返回的操作,但是无法阻止页面返回上一个页面即使在这个方法里面return false

阅读 395
1 个回答

可以参考一下demo:

import webview from '@ohos.web.webview';

@Entry
@Component
struct Page2 {
  webController: webview.WebviewController = new webview.WebviewController();

  aboutToAppear(): void {
    webview.WebviewController.setWebDebuggingAccess(true)
  }
  onBackPress() {
    this.webController.backward();
    return true;
  }
  build() {
    Row() {
      Column() {
        Web({ src: 'https://www.huawei.com', controller: this.webController })
      }
      .width('100%')
    }
    .height('100%')
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进