H5项目接入微信授权登录,通过 UA 区分微信还是普通浏览器:
let ua = navigator.userAgent.toLowerCase(); let isWeixin = ua.indexOf('micromessenger') !== -1;
但是在微信小程序中嵌套该页面也会被认为是微信打开并弹出授权提示。
我们需要做一下判断,小程序中打开不需要提示授权。
可以通过微信官方提供的 SDK 来判断是否是小程序环境。
安装依赖:
npm install weixin-js-sdk --save
说明:该依赖是由 yanxi 大佬将官方 js-sdk 发布到 npm,支持 CommonJS,便于 browserify,webpack 等直接使用。
官方JS源码: https://res.wx.qq.com/open/js/jweixin-1.6.0.js
使用说明: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
在需要的页面引入:
import wx from 'weixin-js-sdk'
在页面中判断:
wx.miniProgram.getEnv(res => { if (res.miniprogram) { alert("miniProgram"); } else { alert("weChat"); } })
再根据业务需求编写逻辑就可以了。
未经允许不得转载:前端资源网 - w3h5 » H5页面判断是否是微信小程序打开