收藏
回答

小程序webview的user-agent中,小程序标志字符不统一的bug

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug 全平台 小米mix, iPhone 6s plus 6.6.7

- 当前 Bug 的表现(可附上截图)

小程序使用webview打开网页, 后台拦截useragent在不同的终端上会有不同的内容, 不统一造成很大的麻烦, 具体各终端的表现如下:

微信开发者工具调试时, useragent 包含miniprogram

使用android手机调试, 则包含的是miniProgram

使用苹果手机调试, 则没有miniprogram相关字符, 与公众号网页差不多, 无明显小程序标志字符


- 预期表现

应该所有终端使用webview打开网页, useragent 都有统一的小程序标志字符

- 复现路径


- 提供一个最简复现 Demo

随便使用webview打开合法域名下的网页

最后一次编辑于  2018-06-23  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 邓坤力
    邓坤力
    2018-06-24

    不建议依赖 user-agent,请使用 window.__wxjs_environment

    2018-06-24
    赞同
    回复 2
    • 刘明义💎
      刘明义💎
      2018-08-20

      window.__wxjs_environment  这个变量在安卓手机上返回 false。这个方式根本不能用

      2018-08-20
      回复
    • 凡羽
      凡羽
      2018-09-18

      function isInWechatMP() {
          return navigator.userAgent.match(/miniprogram/i) || window.__wxjs_environment === 'miniprogram'

      }
      这样的检测方式,是不是覆盖了安卓和iOS,期待官方答复!


      2018-09-18
      回复
  • 为信而来
    为信而来
    2018-07-30

    关键是服务端如何区分

    2018-07-30
    赞同
    回复