微信扫码登录后如何优雅地关闭弹窗并刷新主窗口?
如何优雅地关闭微信扫码登录弹窗并刷新主窗口?
问题描述:
我们在运用微信扫码登录时,主窗口会弹出一个用于扫码的小窗口。如何在扫码成功后,关闭小窗口并刷新主窗口来更新会话呢?
解决方案:
不要将扫码成功后跳转的页面直接显示在小窗口中,而是跳转到一个中间页面。在这个中间页面中,通过 window.opener 执行如下逻辑:
- 使用 window.close() 关闭小窗口。
- 执行任意需要更新主窗口的逻辑,如刷新页面或更新会话。
具体步骤:
- 在扫码登录时,设置一个回调页面,用于处理登录成功的返回。
- 在回调页面中,使用 window.opener.location.reload() 刷新主窗口。
- 使用 window.opener.window.close() 关闭小窗口。
示例代码:
// 回调页面 function loginCallback() { window.opener.location.reload(); window.opener.Window.close(); }
通过这种方式,可以在扫码成功后关闭小窗口并刷新主窗口,从而更新会话信息。
以上就是微信扫码登录后如何优雅地关闭弹窗并刷新主窗口?的详细内容,更多请关注硕下网其它相关文章!