- 当前 Bug 的表现(可附上截图)
小程序使用webview打开网页, 后台拦截useragent在不同的终端上会有不同的内容, 不统一造成很大的麻烦, 具体各终端的表现如下:
微信开发者工具调试时, useragent 包含miniprogram
使用android手机调试, 则包含的是miniProgram
使用苹果手机调试, 则没有miniprogram相关字符, 与公众号网页差不多, 无明显小程序标志字符
- 预期表现
应该所有终端使用webview打开网页, useragent 都有统一的小程序标志字符
- 复现路径
- 提供一个最简复现 Demo
随便使用webview打开合法域名下的网页
不建议依赖 user-agent,请使用 window.__wxjs_environment
window.__wxjs_environment 这个变量在安卓手机上返回 false。这个方式根本不能用
function isInWechatMP() {
return navigator.userAgent.match(/miniprogram/i) || window.__wxjs_environment === 'miniprogram'
}
这样的检测方式,是不是覆盖了安卓和iOS,期待官方答复!
关键是服务端如何区分