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 start -a dockername 老是卡住,什么情况?2. javascript - ES5的闭包用ES6怎么实现3. java - 请问一下genymotion如何连接到内网上一个网站4. angular.js - angularjs 与requirejs集成5. angular.js - angularJs 在谷歌浏览器上面 输入框输入中文不能响应,但英文和字母可以,其他浏览器不存在这个问题6. docker镜像push报错7. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?8. Java使用数组的速度比C ++中std :: vector快8倍。我做错什么了?9. java - mybatis源码分析10. javascript - 奇怪的Symbol的问题

网公网安备