判断页面环境是否在小程序的webview中

最近公司需要做小程序项目,但是又希望能够快速开发,就想着把web端的响应式页面放到webview里快速开发。但在判断页面环境的时候出现一些问题。

环境问题

用小程序提供的wx.miniProgram.getEnv可以获取环境参数,但是他有个问题就是无法在非微信环境下判断。所以在使用wx.miniProgram.getEnv前得先判断是否在微信环境中。

解决方案

   <script src='https://res.wx.qq.com/open/js/jweixin-1.3.2.js'></script>
    <script>
        if (/MicroMessenger/i.test(navigator.userAgent)) {
        //ios的ua中无miniProgram,很坑爹,但都有MicroMessenger(表示是微信浏览器)
            wx.miniProgram.getEnv((res)=>{
                if (res.miniprogram) {
                    alert("在小程序里");
                } else {
                    alert("不在小程序里");
                }
            })
        }
    </script>

这样就完美解决问题了。