uniapp H5 页面判断所在环境:微信小程序、微信浏览器、外部浏览器

开发过程中难免会遇到需要判断单前页面所处的运行环境,那么我们应该如何来实现呢?

需求是这样的:uniapp 开发的 H5 界面需要嵌入微信小程序,安卓 app 中,其中有部分功能是在 app 中显示,小程序中不显示。经过一番摸索之后,我也找到解决办法,再此备忘一下。

解决方法

  1. 借助微信提供的sd k
  2. 获取浏览器信息
  3. 判断方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
安装sdk:
npm install weixin-js-sdk
引入sdk:
let wxSdk = require('weixin-js-sdk');
判断方法:
function getENVIR () {
let wxSdk = require('weixin-js-sdk');
let text = ''
let ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
wxSdk.miniProgram.getEnv((res) => {
if (res.miniprogram) {
//小程序环境
text = 'wx'
} else {
//微信环境
text = 'noWx'
}
})
} else {
// 其他浏览器
text = 'noWx'
}
return text
}