需求是这样:
1. 微信公众号点击菜单进入a页面,a页面需要获取用户昵称和头像(因此需要授权);
2.从a 页面跳到 b1,b2,b3.....页面;
3.当在 a页面时 ios手机点击左上角 “返回” 或者 其它手机物理返回键时 要求返回到微
信公众号;
但是现在 不做处理的时候 点一下返回只能返回到 微信授权 页面,然后果几秒,会跳转到a页面;也很有可能出错。
然后我就相伴处理在 a 页面添加代码:以下代码:
history.pushState('x-back', null);
function onPopState (event) {
WeixinJSBridge.call('closeWindow');
};
window.addEventListener('popstate', onPopState);
但是仍然会有问题:
安卓手机问题解决;ios碰到的问题是:从a 跳到b1 ...页面;在b1 页面ios 点左上角返回菜单时 a页面会闪一下;直接退出到公众号里面了,相当于跳过a页面;a页面 就闪了一下也就一秒;每次测试都这样;我不明白为啥从b返回到a 会触发a页面的 监听 返回键的函数。。。。
陈方2018-09-25 16:55:10
var isPageHide = false;
window.addEventListener('pageshow', function() {
if(isPageHide) {
window.WeixinJSBridge.call('closeWindow');
//window.location.reload();//自己重新刷新,这一步相当于模拟了跳转
}
});
window.addEventListener('pagehide', function() {
isPageHide = true;
});
某草草2017-06-26 10:57:23
微信开发文档里面提到
2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。
如果用户已关注公众号或者自定义菜单进入本公众号的网页授权页的话,是静默授权,不会出现微信授权的啊。