如何优雅地关闭微信扫码登录弹窗并刷新主窗口?
问题描述:
我们在运用微信扫码登录时,主窗口会弹出一个用于扫码的小窗口。如何在扫码成功后,关闭小窗口并刷新主窗口来更新会话呢?
解决方案:
不要将扫码成功后跳转的页面直接显示在小窗口中,而是跳转到一个中间页面。在这个中间页面中,通过 window.opener 执行如下逻辑:
- 使用 window.close() 关闭小窗口。
- 执行任意需要更新主窗口的逻辑,如刷新页面或更新会话。
具体步骤:
- 在扫码登录时,设置一个回调页面,用于处理登录成功的返回。
- 在回调页面中,使用 window.opener.location.reload() 刷新主窗口。
- 使用 window.opener.window.close() 关闭小窗口。
示例代码:
// 回调页面 function loginCallback() { window.opener.location.reload(); window.opener.Window.close(); }登录后复制
通过这种方式,可以在扫码成功后关闭小窗口并刷新主窗口,从而更新会话信息。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6716.html