uni-app 高版本SDK打包安卓跳h5 muijs不能正常使用,ios及h5单独访问均无问题,安卓app跳转h5时muijs(v.3.7.2)无法正常使用

uni-app 高版本SDK打包安卓跳h5 muijs不能正常使用,ios及h5单独访问均无问题,安卓app跳转h5时muijs(v.3.7.2)无法正常使用

开发环境 版本号 项目创建方式
Windows 22H2 HBuilderX

操作步骤:

  1. 低版本的SDK云打包没问题,大概3.6左右版本SDK, 安卓app跳转h5页面(页面包含:mui v3.7.2)正常使用,ios正常,h5单独访问正常
  2. 现在云打包最低SDK3.99, 打包出来app安卓跳h5页面(页面包含:mui v3.7.2)不能正常使用,ios正常,h5单独访问正常 备注:切换了编辑器好几个高低版本依旧不行,因为云打包现在最低3.99 SDK

预期结果:

安卓能 正常跳转h5页面(页面包含:mui v3.7.2)

实际结果:

现在云打包所有SDK版本, 打包出来app安卓跳h5页面(页面包含:mui v3.7.2)不能正常使用,ios正常,h5单独访问正常

bug描述:

uniapp 高版本的SDK打包安卓跳h5 muijs不能正常使用,ios没问题,h5单独访问也没有问题,通过安卓app跳h5 muijs(v.3.7.2)无法正常使用


更多关于uni-app 高版本SDK打包安卓跳h5 muijs不能正常使用,ios及h5单独访问均无问题,安卓app跳转h5时muijs(v.3.7.2)无法正常使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 高版本SDK打包安卓跳h5 muijs不能正常使用,ios及h5单独访问均无问题,安卓app跳转h5时muijs(v.3.7.2)无法正常使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 中使用高版本 SDK 打包安卓应用时,遇到 mui.js (v3.7.2) 在跳转 H5 页面时无法正常使用的问题,可能涉及多个方面的原因。以下是一些可能的原因和解决方案:


1. WebView 兼容性问题

  • 原因:高版本 Android SDK 可能对 WebView 的行为进行了调整,导致 mui.js 的某些功能无法正常工作。
  • 解决方案
    • 确保 WebView 的版本是最新的,或者尝试降级 WebView 版本。
    • manifest.json 中配置 WebView 的相关设置:
      {
        "app-plus": {
          "webview": {
            "userAgent": "Mozilla/5.0 (Linux; Android 10; Mobile) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36"
          }
        }
      }
      

2. JavaScript 执行环境问题

  • 原因:Android 的 WebView 可能对 JavaScript 的执行环境有特殊限制,导致 mui.js 无法正常初始化。
  • 解决方案
    • 确保在 H5 页面加载完成后,再执行 mui.js 的初始化代码。
    • 使用 uni.onReadywindow.onload 确保页面完全加载后再执行逻辑:
      uni.onReady(() => {
          mui.init();
      });
      

3. 跨域问题

  • 原因:如果 H5 页面涉及到跨域请求,Android 的 WebView 可能会限制某些行为。
  • 解决方案
    • 确保 H5 页面的请求符合跨域规则,或者使用代理服务器解决跨域问题。
    • manifest.json 中允许跨域:
      {
        "app-plus": {
          "webview": {
            "crossDomain": true
          }
        }
      }
      

4. mui.js 兼容性问题

  • 原因:mui.js 可能未完全适配高版本 Android SDK。
  • 解决方案
    • 尝试升级 mui.js 到最新版本(如果有更新)。
    • 如果无法升级,可以手动修改 mui.js 的代码,适配高版本 SDK。

5. uni-app 配置问题

  • 原因:uni-app 的某些配置可能影响 H5 页面的行为。
  • 解决方案
    • 检查 manifest.json 中的配置,确保 H5 页面的跳转行为正确。
    • pages.json 中配置 H5 页面的跳转方式:
      {
        "path": "pages/h5/h5",
        "style": {
          "navigationBarTitleText": "H5页面"
        }
      }
回到顶部