支付宝小程序可以通过userAgent中包含特定字符串来判断是否处于小程序web-view环境吗
// 是否在支付宝客户端内
isAlipayClient() {
return navigator.userAgent.indexOf('AlipayClient') > -1
},
isAliMiniApp() {
return new Promise((resolve, reject) => {
if (window.my) {
my.getEnv((res) => {
console.log(3, res)
resolve(res.miniprogram || res.miniProgram)
})
} else {
resolve()
}
})
},
用小程序提供的wx.miniProgram.getEnv可以获取环境参数,但是他有个问题就是无法在非微信环境下判断。所以在使用wx.miniProgram.getEnv前得先判断是否在微信环境中。
解决方案
<script>
if (/MicroMessenger/i.test(navigator.userAgent)) {
//ios的ua中无miniProgram,很坑爹,但都有MicroMessenger(表示是微信浏览器)
wx.miniProgram.getEnv((res)=>{
if (res.miniprogram) {
alert("在小程序里");
} else {
alert("不在小程序里");
}
})
}
</script>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。