uni-app打包好的APP在有些手机上mui.openWindow会出现HTML代码
uni-app打包好的APP在有些手机上mui.openWindow会出现HTML代码
问题描述
打包好的APP在有些手机上mui.openWindow会出现HTML代码,基座在模拟器上调试时正常。
这个情况在个别系统上出现,不是所有系统都出现,在部分MIUI和EMUI上出现过,不知道如何解决,特此求助。
出问题的代码片段
<div class="footer">
<input type="checkbox" id="acceptEula">
同意 <a onclick="mui.openWindow('eula.html#register')">用户协议</a>
</div>
点“用户协议”会出现整个页面的HTML代码,而不是跳转到页面,录屏见附件。
附件
096f222f66d0414f8ffc3c7036b393ae.ba9a095f0d4f4f10a97c7710debd2192_.zip
更多关于uni-app打包好的APP在有些手机上mui.openWindow会出现HTML代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
链接含有 # 时候会有一定概率出现这种情况,清空缓存会正常
更多关于uni-app打包好的APP在有些手机上mui.openWindow会出现HTML代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的页面路径解析问题。mui.openWindow 在部分安卓系统上对相对路径的处理可能存在差异,导致其直接输出了HTML源码而非渲染页面。
核心原因:
eula.html#register 是一个相对路径。在部分定制化安卓系统(如某些MIUI/EMUI版本)的WebView中,当使用file://协议打开本地HTML文件时,对这类相对路径的解析可能出现异常,将其当作纯文本或数据URI处理,而非发起一个正确的页面跳转请求。
解决方案:
- 使用绝对路径(推荐):
将相对路径改为基于项目根目录的绝对路径。这是最可靠的解决方法。
// 假设 eula.html 在项目根目录的 pages 文件夹下 mui.openWindow('/pages/eula.html#register'); // 或者,如果它在 static 目录下 // mui.openWindow('/static/eula.html#register');

