HarmonyOS 鸿蒙Next 静态库(.har)打包的页面无法返回

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

HarmonyOS 鸿蒙Next 静态库(.har)打包的页面无法返回 自己开发的静态库,选择release模式打包成.HAR,然后再其它工程里面引用,发现使用routername写的页面无法返回

  1. 工程里面点击某个按钮跳转到静态库的某个页面
  2. 某个页面点击返回,这时候无法返回

如果说这个库我不打包成.HAR,直接引用是没有问题的,但是我单独的打包成了har,然后本地依赖这个har就出问题

2 回复

你好,router.back()里面需要增加特定的命名路由页面,修改为

router.back({
  url: 'myPage' //myPage为返回的命名路由页面别名
});

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-router-V5 本地引用.har包的形式,在真机上测试H5页面调用应用侧的代码,页面是正常返回的。(api11)

本地测试demo:

// 工程A 中 har包的页面内容
import web_webview from '@ohos.web.webview';
import { router } from '@kit.ArkUI';

class testClass {
  closeWindow(): void {
    router.back()
  }
}
@Entry({ routeName: 'MainPageJump' })
@Component
export struct MainPage {
  @State message: string = '这个是har包的H5页面';
  webViewController: web_webview.WebviewController = new web_webview.WebviewController();
  @State testObj: testClass = new testClass();

  build() {
    Column() {
      Web({ src: $rawfile("localLib.html"), controller: this.webViewController })
        .javaScriptAccess(true)
        .javaScriptProxy({
          object: this.testObj,
          name: "testObjName",
          methodList: ["closeWindow"],
          controller: this.webViewController
        })
    }
    .height('100%')
    .width('100%')
  }
}
// H5页面

<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>Test</title>
</head>
<body>
<button type="button" onclick="callArkTS()">Close window</button>

<script>
function callArkTS() {
  testObjName.closeWindow()
}
</script>
</body>
</html>

更多关于HarmonyOS 鸿蒙Next 静态库(.har)打包的页面无法返回的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next 静态库(.har)打包的页面无法返回”的问题,以下是一个简洁且专业的回答:

在HarmonyOS鸿蒙Next系统中,静态库(.har)打包过程中若遇到页面无法返回的问题,这通常与打包工具的配置或代码逻辑相关。请检查以下几点:

  1. 打包工具配置:确保使用的打包工具版本与HarmonyOS鸿蒙Next系统兼容,且配置正确无误。检查工具中是否有关于页面返回的特殊设置或限制。

  2. 代码逻辑:审查与页面返回相关的代码逻辑。确认是否有未处理的异常或逻辑错误导致页面无法正常返回。特别关注页面跳转和返回的事件处理函数。

  3. 资源文件:检查相关的资源文件(如XML布局文件)是否正确配置,确保页面返回按钮或逻辑已正确绑定。

  4. 日志输出:查看打包过程和运行时的日志输出,寻找可能的错误信息或警告,这有助于定位问题。

若以上检查均未能解决问题,可能涉及更复杂的系统或工具内部问题。此时,建议直接联系官网客服以获取专业支持。官网客服地址:https://www.itying.com/category-93-b0.html。他们将能够提供更详细的帮助和解决方案。

回到顶部