我现在有个列表页面,当列表页面点击商品进入详情页后,开始做微信授权,授权成功后重定向到当前详情页。然后点击微信的返回按钮,返回的依旧是微信授权的官方页面(如下图所示)。然后又重定向到我的详情页,等于回不去列表页了。请问有人能够帮忙解答一下么?
ringa_lee2017-05-31 10:42:12
最近在做微信公众号,也有微信授权的需求,不过,可能因为我这边是在一级页面,进入以后直接授权,所以没有暴露出你这个问题。这里提出点个人的见解,肯定有不足,敬请指正:
首先:微信的返回按钮,跟其浏览器的history是直接相关的,在我这边是在一级页面进入以后直接授权,然后用户再直接点击返回的话,是要达到“关闭页面,显示主菜单”的效果,尝试过几个方法,包括:
“监听返回事件”
window.addEventListener("popstate", function()
{
//监听到后执行的代码
},false);
“授权登录后,使用history内置方法”
window.history.go(-1);
或
window.history.back
但是都出现了很多情况,或是在微信WEB开发者工具起作用,但移动端不行;或是当时可以,过两天又失效。
解决:最后,还是用了h5的新特性
//替换(用null模拟删除)url记录,实现返回一级页面 直接关闭
window.history.replaceState(null, null, toUrl);
等于是在浏览器历史把登录的界面记录置空。
你可以试试这个,也许对你有用、、、、