- 当前 Bug 的表现(可附上截图)
window.__wxjs_environment 变量判断是否在小程序环境 , 不是在安卓机小程序 里面 是 false(iphone是true)
function ready() { console.log(window.__wxjs_environment === 'miniprogram') // true}if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) { document.addEventListener('WeixinJSBridgeReady', ready, false)
} else {
ready()
}
官方提供的方法,也是false
这里刚刚用
wx.miniProgram.getEnv(function(res) { console.log(res.miniprogram) // true})
这个方法,把 window.__wxjs_environment alert出来,结果是true,但是速度太慢了,我这边接口都执行完了,才返回给我true,黄花菜都凉了
估计另外一个方法差不多也是这样
- 预期表现
在小程序里面,此变量为true (进入页面这个变量就应该注入window了,太慢了会影响后面的逻辑)
- 复现路径
- 提供一个最简复现 Demo
一样碰到以上问题,辣鸡的不得了,后来我们这样判断了
const isMiniProgram = /miniProgram/i.test(navigator.userAgent.toLowerCase())
额, 对象navigator.userAgent 里面也有这个值呀,挺好,
谢谢