收藏
回答

ios微信web-view的user-agent缺失miniprogram

问题模块 API/组件名称 终端类型 微信版本 基础库版本
API和组件 web-view 客户端 6.6.1 1.7.0

你想反馈一个 Bug 还是 提一个需求?


反馈一个BUG


* Bug 表现是什么?预期表现是什么?


安卓微信的 web-view 的 user-agent 是包含了 miniprogram 字符串的。ios 微信却没有。


* 如何复现?


用 web-view 打开任意页面,获取其发起的请求里携带的 user-agent 即可。


我拦截到的各个客户端的 user-agent 如下:


① dev-tools:


Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/1.01.1712150 MicroMessenger/6.5.7 Language/zh_CN webview/1_3 webdebugger miniprogram port/9974


② android wechat:


Mozilla/5.0 (Linux; Android 7.0; Mi-4c Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043632 Safari/537.36 MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN miniProgram


③ iphone6:


Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_1 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C153 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN


④ iphone7:


Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN


所以目前来看,ios 微信的实现是有问题的。


user-agent  对于我们开发者来说比较方便,尤其在一些做服务端渲染的页面,以及其他对用户的运行环境敏感的服务。希望官方能够进行相应的修复或解答。


最后一次编辑于  2018-01-17  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 意林
    意林
    2018-07-10

    我也遇到了这个问题, 请问楼主怎么解决后的?是在web-view中传参数吗?

    2018-07-10
    赞同
    回复 3
    • 王子龙
      王子龙
      2018-07-10

      类似吧,当时是以 window 上的小程序环境变量为准。

      2018-07-10
      回复
    • 意林
      意林
      2018-07-10回复王子龙

      请问具体怎么实现的,有没有代码参考下,谢谢

      2018-07-10
      回复
    • 王子龙
      王子龙
      2018-07-10回复意林

      在网页内可通过window.__wxjs_environment变量判断是否在小程序环境

      2018-07-10
      回复