3***@qq.com
3***@qq.com
  • 发布:2025-02-07 14:27
  • 更新:2025-02-07 15:09
  • 阅读:18

【报Bug】在h5环境下uni.canIUse("getUpdateManager")为true

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

HBuilderX类型: 正式

HBuilderX版本号: 4.45

浏览器平台: Chrome

浏览器版本: 132.0.6834.110

项目创建方式: HBuilderX

示例代码:

if (uni.canIUse("getUpdateManager")) {
console.log("getUpdateManager", uni.canIUse("getUpdateManager"));
}

操作步骤:

把上面的代码粘贴到app.vue中的onlaunch

预期结果:

uni.canIUse("getUpdateManager")为false

实际结果:

uni.canIUse("getUpdateManager")为true

bug描述:

在App.vue文件的onLaunch检测小程序更新,使用canIUse进行多端隔离,h5端uni.canIUse("getUpdateManager")为true?这个api不是小程序独有的吗

2025-02-07 14:27 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

是小程序独有的 但是你在web端打印 uni.getUpdateManager就能看到 这个方法是存在的 应该是被封装到uni中了 所以通过canIUse判断是存在的
你可以用条件编译解决你现在遇到的问题

// #ifdef MP-WEIXIN  
    console.log("getUpdateManager", uni.canIUse("getUpdateManager"));  
// #endif

条件编译文档:https://uniapp.dcloud.net.cn/tutorial/platform.html#%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91%E5%A4%84%E7%90%86%E5%A4%9A%E7%AB%AF%E5%B7%AE%E5%BC%82

  • 3***@qq.com (作者)

    条件编译是可以解决这个问题,但有点怪,canIUse不是去判断这个api在某个平台是否能用吗

    2025-02-07 15:21

要回复问题请先登录注册