【知识碎片】第三方登录弹窗效果

需求
点击第三方登录–>打开新tab并控制tab大小–>新tab登录完成自动关闭–>通知旧tab刷新

难点一 如何通过js新建tab

<a class="3rdLogin" href="/a/b/c">click to login</a>
$(".3rdLogin").click(function(e) {
    e.preventDefault(),
    window.open($(this).attr("href"), "_blank", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=500")
})

如果直接用window.open(),在chrome默认会阻止弹窗

难点二 如何关闭tab

window.opener = null;
window.open('', '_self');
window.close();

难点三 如何跨tab通信

html5 postMessage解决跨域、跨窗口消息传递
跨页面(tab/window)通信的几种方法

    原文作者:Rockergmail
    原文地址: https://segmentfault.com/a/1190000015664196
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞