uniapp 判斷小程序、webView、瀏覽器H5、公眾號

邏輯非常簡單,判斷是否是微信環(huán)境。否則就是H5了。微信環(huán)境要分三種:

1、公眾號

2、小程序

3、webView

? ? 針對webview:這里給大家啰嗦幾句;

小程序里面套H5連接,也是比較難處理的一種,但是優(yōu)點很多,對于一些不能上架的小程序或者上架難度大又需要利用小程序的功能的H5系統(tǒng),針對webView的判斷就非常有必要了。

利用webView的方式調(diào)用小程序功能(前提是得有個現(xiàn)成小程序),可實現(xiàn)入口統(tǒng)一管理、分享、支付等等。

獲取當(dāng)前登錄環(huán)境:

function getEnv() {

? ? let envss ="H5"

? ? if (wechat.isWechat()){

? ? ? ? envss="WX_PUBLIC"

? ? }

? ? if (wechat.isWebView()){

? ? ? ? envss="WEB_VIEW"

? ? }

? ? wechat.isMiniProgram().then(res=>{

? ? ? ? if (res){

? ? ? ? ? ? envss="MINI"

? ? ? ? }

? ? })

? ? return envss;

}

判斷是否是微信:? ??


? isWechat() {

? ? ? ? var ua = window.navigator.userAgent.toLowerCase();

? ? ? ? if (ua.match(/micromessenger/i) == 'micromessenger') {

? ? ? ? ? ? // console.log('是微信客戶端')

? ? ? ? ? ? return true;

? ? ? ? } else {

? ? ? ????????? ?// console.log('不是微信客戶端')

? ? ? ? ? ? return false;

? ? ? ? }

? ? }


判斷是否是webView

? ? isWebView() {

? ? ? ? if (this.isWechat()) {

? ? ? ? ? ? var u = navigator.userAgent;

? ? ? ? ? ? if (u.indexOf("miniProgram") != -1) {

? ? ? ? ? ? ? ? return true;

? ? ? ? ? ? }

? ? ? ? ? ? return false

? ? ? ? }

? ? ? ? return false;

? ? }


判斷是否是小程序


? ? ?isMiniProgram() {

? ? ? ? return new Promise((resolve, reject) => {

? ? ? ? ? ? if (-1 == navigator.userAgent.toLowerCase().indexOf("micromessenger")) {

? ? ? ? ? ? ? ? resolve(false)

? ? ? ? ? ? ? ? return

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? wx.miniProgram.getEnv((res) => {

? ? ? ? ? ? ? ? ? ? if (!res.miniprogram) {

? ? ? ? ? ? ? ? ? ? ? ? resolve(false)

? ? ? ? ? ? ? ? ? ? ? ? return

? ? ? ? ? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? ? ? resolve(true)

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? })

? ? ? ? ? ? }

? ? ? ? })

? ? }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容