GetWeixinCode
GetWeixinCode copied to clipboard
如何解决「取消授权」留在中间页,而不是关闭页面?
在中间页跳到微信的授权页,进行授权时,当用户点击「取消授权」,页面没有自动关闭,而是留在中间页。
如果不使用中间页进行跳转,直接访问微信的授权页,点击「取消授权」可以自动关闭页面。
重现步骤:
- 访问使用带有回调地址的中间页
- 中间页自动跳到微信中间页
- 点击 「取消」授权
- 页面没有自动关闭,留在中间页。
尝试解决的方法:
本以为是页面已经跳转,但是路由栏没有变成微信的地址。猜想,如果不是微信的地址就不会关闭。
所以将location.href = redirectUri;,改成了location.href = redirectUri + "&t=" + (new Date().getTime());。 强制不让微信内置浏览器不进行缓存。实际效果,还是不可以。
请问有办法,在中间页监听微信的取消事件么?如果能监听到的话,就可以点击取消的时候,关闭窗口。
好问题,取消授权的操作是在微信的授权页面进行的,它应该会返回到授权页面的前一个页面,也就是我们的中间页。直接监听取消事件应该是比较难,需要在中间页上做一些处理。这个我有空尝试一下。
嗯嗯。我也找找有没有其他方式进行解决。
@youthcity 老哥目前有解决办法了么
我觉得自动设置倒计时10s时间,如果不授权的话,跳转回原来的url。 一般10s用户不授权,估计也不会授权了。授权的话跳到redirect_uri, 也用不到倒计时了。 @youthcity
页面会有load事件,记录时间戳,存在时间戳即为取消授权,返回原url即可@youthcity