diff --git a/ArkWebKit/entry/src/main/ets/pages/BackPageByGestures.ets b/ArkWebKit/entry/src/main/ets/pages/BackPageByGestures.ets index 35c8659d1680f1500cbeafd1982ac692cd1afdaa..9e7828cb52d1f8b2276ea5483e4d4960c429a884 100644 --- a/ArkWebKit/entry/src/main/ets/pages/BackPageByGestures.ets +++ b/ArkWebKit/entry/src/main/ets/pages/BackPageByGestures.ets @@ -18,29 +18,34 @@ */ // [Start BackPageByGesturesPage] -import { webview } from '@kit.ArkWeb'; +import { webview } from "@kit.ArkWeb"; @Entry @Component -struct BackPageByGesturesPage { +struct PageOne { + pageInfos: NavPathStack = new NavPathStack(); controller: webview.WebviewController = new webview.WebviewController(); - onBackPress() { - // 当前页面是否可前进或者后退给定的step步(-1),正数代表前进,负数代表后退 - if (this.controller.accessStep(-1)) { - this.controller.backward(); // 返回上一个web页 - // 执行用户自定义返回逻辑 - return true; - } else { - // 执行系统默认返回逻辑,返回上一个page页 - return false; - } - } - build() { - Column() { - Web({ src: 'http://www.example.com', controller: this.controller })//需要手动替换为真实网站 + NavDestination() { + Column() { + Web({ src: 'https://www.XXX.com/', controller: this.controller }) // It needs to be manually replaced with the actual website + } + .width('100%') + .height('100%') } + .title('pageOne') + .onBackPressed(() => { + if (this.controller.accessBackward()) { // Determine whether the web page can be navigated back + this.controller.backward() // Navigate back to the previous webpage + return true + } else { + const popDestinationInfo = this.pageInfos.pop(); // Pop the top element of the routing stack + return true; + } + }).onReady((context: NavDestinationContext) => { + this.pageInfos = context.pathStack; + }) } } // [End BackPageByGesturesPage] \ No newline at end of file