HarmonyOS 鸿蒙Next 静态库(.har)打包的页面无法返回
HarmonyOS 鸿蒙Next 静态库(.har)打包的页面无法返回 自己开发的静态库,选择release模式打包成.HAR,然后再其它工程里面引用,发现使用routername写的页面无法返回
- 工程里面点击某个按钮跳转到静态库的某个页面
- 某个页面点击返回,这时候无法返回
如果说这个库我不打包成.HAR,直接引用是没有问题的,但是我单独的打包成了har,然后本地依赖这个har就出问题
你好,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)打包过程中若遇到页面无法返回的问题,这通常与打包工具的配置或代码逻辑相关。请检查以下几点:
-
打包工具配置:确保使用的打包工具版本与HarmonyOS鸿蒙Next系统兼容,且配置正确无误。检查工具中是否有关于页面返回的特殊设置或限制。
-
代码逻辑:审查与页面返回相关的代码逻辑。确认是否有未处理的异常或逻辑错误导致页面无法正常返回。特别关注页面跳转和返回的事件处理函数。
-
资源文件:检查相关的资源文件(如XML布局文件)是否正确配置,确保页面返回按钮或逻辑已正确绑定。
-
日志输出:查看打包过程和运行时的日志输出,寻找可能的错误信息或警告,这有助于定位问题。
若以上检查均未能解决问题,可能涉及更复杂的系统或工具内部问题。此时,建议直接联系官网客服以获取专业支持。官网客服地址:https://www.itying.com/category-93-b0.html。他们将能够提供更详细的帮助和解决方案。