uniapp 判断小程序、webView、浏览器H5、公众号

逻辑非常简单,判断是否是微信环境。否则就是H5了。微信环境要分三种:

1、公众号

2、小程序

3、webView

    针对webview:这里给大家啰嗦几句;

小程序里面套H5连接,也是比较难处理的一种,但是优点很多,对于一些不能上架的小程序或者上架难度大又需要利用小程序的功能的H5系统,针对webView的判断就非常有必要了。

利用webView的方式调用小程序功能(前提是得有个现成小程序),可实现入口统一管理、分享、支付等等。

获取当前登录环境:

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)

                    }

                })

            }

        })

    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。