需求: 判断是否是微信还是微信小程序或者其他的运行环境
function isMiniProgram(callback) {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') == -1) {//不在微信或者小程序中
callback(false);
} else {
// window.__wxjs_environment === 'miniprogram' 为true 则表示在微信小程序的环境
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
document.addEventListener('WeixinJSBridgeReady', function () {
callback(window.__wxjs_environment === 'miniprogram')
}, false)
} else {
callback(window.__wxjs_environment === 'miniprogram')
}
// 具有兼容性问题 使用前必须引入 jweixin-1.3.2.js 版本
// if (wx && wx.miniProgram && wx.mingProgram.getEnv) {
// wx.miniProgram.getEnv((res) => {
// console.log(res.miniprogram)
// if (res.miniprogram) {//在小程序中
// callback(false);
// } else {//在微信中
// callback(true);
// }
// });
// }
}
}
wx.mingProgram.getEnv 方法使用前必须引入 jweixin-1.3.2.js 版本 有兼容性问题 解决方法如上