7***@qq.com
7***@qq.com
  • 发布:2026-03-20 14:58
  • 更新:2026-03-23 08:50
  • 阅读:53

【报Bug】5.0.4 H5+ app 页面跳转、tab切换等问题

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 5.04

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: xiaomi15

打包方式: 云端

操作步骤:

错误情况之一:打开绝对路径地址:mui.openWindow({id:id,url:'/webviews/login/project_setting.html',});
错误情况之二:根据id显示页面:mui.openWindow({id: 'main',show: {aniShow: 'pop-in'},waiting: {title: "正在登陆系统",autoShow: false}});

预期结果:

正常打开页面

实际结果:

错误一:请求的页面无法打开:file:///webviews/login/project_setting.html
错误二:请求的页面无法打开:file:///storage/emulated/0/Android/data//apps//www/webviews/login/undefined

bug描述:

5.0.4版h5是不是重写了页面跳转?感觉跳转逻辑跟以前不一样,导致之前的代码不能复用。
例如:mui.openWindow({id:id,url:'/webviews/login/project_setting.html',});之前会跳到根目录下的正确地址,现在报错:“请求的页面无法打开:file:///webviews/login/project_setting.html ”

以前:.openWindow({id: 'main',show: {aniShow: 'pop-in'},waiting: {title: "正在登陆系统",autoShow: false}});这种只有id没有url的写法是允许的,现在报错:“请求的页面无法打开:file:///storage/emulated/0/Android/data//apps//www/webviews/login/undefined”,即无法根据id打开已有页面。

class="mui-bar mui-bar-tab"的点击切换也很不正常。

2026-03-20 14:58 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢您的详细反馈。经过评审,现对该bug反馈进行如下分析:

一、反馈内容完整性评审

该反馈包含了BUG标题、问题描述、代码示例、复现步骤、预期结果、实际结果及分类信息,基本要素较为完整。但存在以下需补充的关键信息:

  1. 项目类型未明确:未说明当前是uni-app项目、mui项目还是HTML5+项目。从代码中使用mui.openWindow判断,可能是基于mui框架的HTML5+项目或早期uni-app项目,但这直接影响问题定性。

  2. manifest配置缺失:未提供manifest.json中关于"webviews"目录的配置信息,以及是否配置了runmode等关键参数。

  3. 路径基准说明不足:未说明/webviews/login/project_setting.html相对于项目根目录的实际存放位置,以及历史版本中该路径的解析基准。

二、Bug成立性分析

根据现有知识库检索,暂未找到关于HBuilderX 5.0.4版本对mui.openWindow路径解析逻辑变更的明确记录。但从错误信息分析:

  1. 路径解析异常:错误file:///webviews/login/project_setting.html表明绝对路径/webviews被直接解析为file协议根目录,而非应用的www目录下。这提示5.0.4版本可能加强了对绝对路径的解析严格性。

  2. id跳转失效:错误file:///.../undefined表明当不传入url仅传入id时,系统无法根据id找到已存在的窗口实例,可能与会话管理或窗口缓存机制变更有关。

  3. mui兼容性mui.openWindow属于mui框架(HTML5+时代的JS库),在uni-app 5.x版本中,官方推荐统一使用uni.navigateTouni.redirectTo等标准路由API。知识库中明确提示"uni-app x中不再支持plus和weex的API",虽然用户当前可能不是uni-app x项目,但5.0版本对旧版mui API的支持确实在逐步收紧。

三、概念与解决方案建议

该问题属于API使用不当导致的兼容性变更,建议按以下方式处理:

  1. 迁移至uni-app标准API(推荐):

    • mui.openWindow({url:'/webviews/...'})改为uni.navigateTo({url:'/pages/...'})
    • 确保页面路径在pages.json中注册,且使用相对pages目录的路径写法
  2. 如必须继续使用mui

    • 将绝对路径/webviews/...改为相对路径,如./webviews/...../webviews/...,具体取决于当前页面位置
    • 对于id跳转,需确保目标页面已预先创建,或同时提供url参数作为fallback
  3. 关于mui-bar-tab切换异常

    • 建议检查是否同时使用了mui的tabbar和uni-app的原生tabbar配置,两者可能产生冲突
    • 可在manifest.json中检查tabBar配置与mui样式的兼容性

结论:该反馈描述的现象确实存在,但属于旧版mui API在新版本运行环境中的兼容性调整,而非uni-app核心bug。建议优先迁移至uni-app标准路由API以确保长期稳定性。如需进一步排查,请提供一个可复现的demo项目(注意脱敏业务代码)。

内容为 AI 生成,仅供参考
容若思雪

容若思雪 - 奥利给

上班前打开bug反馈看看,有没有新进度。顺带看看hbuilderx有么有发布新版本。

要回复问题请先登录注册