收藏
回答

navigator.userAgent在iOS上无法识别出miniProgram

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug web-view 微信iOS客户端 7.0.1 2.10.0
var userAgent = navigator.userAgent;
// 是否是微信小程序
var isMini = /miniProgram/i.test(userAgent);

通过上面的方法在一个H5页面内可以判断出小程序环境,但是在同一个小程序内的另一个H5页面无法识别出小程序环境,不知是何原因

同时,通过wx.miniProgram.getEnv()也识别不出小程序环境。

没办法,只有在web-view里传个参数到H5,通过参数去识别是否是小程序调用;
但是这样在开发工具内可以识别是小程序调用了,在真机还是无法识别到,有同仁知道怎么解决H5内识别小程序的方法咩?

===================
已解决,是缓存问题。
开发工具有缓存问题,点清缓存没用,要删除项目,重新编译导入运行;
真机缓存直接删除小程序没用,原以为删了小程序的缓存也就没了,但是这个属web-view的缓存,要点微信设置里面的清缓存。
希望对后来人有帮助o(╥﹏╥)o
最后一次编辑于  01-14
回答关注问题邀请回答
收藏

1 个回答

  • Undefined
    Undefined
    01-14

    我是用的 这个

    window.__wxjs_environment === 'miniprogram'
    
    01-14
    赞同
    回复 4
    • 天行者
      天行者
      01-14
      我把三种都试遍了,wx.miniProgram.getEnv一直都没用,navigator.userAgent在一个页面有用一个没用。。window.__wxjs_environment也没用,愁
      01-14
      回复
    • Undefined
      Undefined
      01-14回复天行者
      有可能是真机上有缓存。我当时接的时候,有跟你一样的症状。
      01-14
      回复
    • Undefined
      Undefined
      01-14回复天行者
      应该问题不大,我是这么写的。
      01-14
      回复
    • 天行者
      天行者
      01-14回复Undefined
      一言惊醒梦中人,感谢大兄dei!
      之前想过是否缓存问题,点了开发工具上的清缓存,没用;真机上删了小程序重新运行,也没用。
      刚刚突然想到清除微信设置里的缓存,于是乎,三种方法都有用了!!!调了一天js,泪奔。。
      01-14
      回复
登录 后发表内容
问题标签