javascript - 微信 H5 授权 返回键
问题描述
需求是这样:
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页面的 监听 返回键的函数。。。。
问题解答
回答1:var isPageHide = false;window.addEventListener('pageshow', function() { if(isPageHide) { window.WeixinJSBridge.call('closeWindow'); //window.location.reload();//自己重新刷新,这一步相当于模拟了跳转 }});window.addEventListener('pagehide', function() { isPageHide = true;});
回答2:求 解答啊。。。。。
回答3:微信开发文档里面提到2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。
如果用户已关注公众号或者自定义菜单进入本公众号的网页授权页的话,是静默授权,不会出现微信授权的啊。
相关文章:
1. docker-machine添加一个已有的docker主机问题2. node.js - node express 中ajax post请求参数接收不到?3. html - 用ajax提交表单后,返回验证数据在页面location.href跳转到主页,怎么传递session给主页4. angular.js - grunt server 报错5. apache - nginx 日志删除后 重新建一个文件 就打不了日志了6. java - tomcat服务经常晚上会挂,求解?7. java - 原生CGLib内部方法互相调用时可以代理,但基于CGLib的Spring AOP却代理失效,为什么?8. 网站被黑,请教下大神,怎么对datebase.php内容加密。9. mysql - sql查询语句问题10. mysql的主从复制、读写分离,关于从的问题
