方案一:
引入微信SDK文件:JSSDK,通过微信SDK方法判断。
<script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script>
var ua = navigator.userAgent.toLowerCase();
// 判断是否在微信浏览器内
if (ua.match(/MicroMessenger/i)=="micromessenger") {
wx.miniProgram.getEnv((res) => {
if (res.miniprogram) {
console.log('在小程序内');
} else {
console.log('不在小程序内');
}
})
} else {
console.log('不在微信浏览器内');
}
</script>
方案二:
通过window.__wxjs_environment判断。
<script>
function ready() {
if (window.__wxjs_environment === 'miniprogram') {
console.log('在小程序内');
} else {
console.log('不在小程序内');
}
}
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
//必须在WeixinJSBridge回调后进行判断,否则小程序环境检测会不准确
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
document.addEventListener('WeixinJSBridgeReady', webchatReady, false);
} else {
ready();
}
} else {
console.log('不在微信浏览器内');
}
</script>