关闭浏览器选项卡

时间:2016-06-02 17:07:21

标签: javascript

我有一个页面,告诉用户转到他们的电子邮件并单击验证链接。当他们这样做时,电子邮件中的链接会打开一个新选项卡,因此现在用户打开了两个选项卡,这两个选项卡都与电子邮件相关,这有点令人困惑。

  • 是否有机会让他们点击电子邮件中的链接并在第一个标签中打开确认或

  • 打开新标签但同时关闭原始标签?

我希望JS有办法。

3 个答案:

答案 0 :(得分:0)

您可以定期从第一个标签检查电子邮件是否已激活,然后将其关闭window.close(),因此剩余的打开标签将是第二个,通常,您将使用setInterval和ajax请求实现类似的功能到您的服务器后端检查电子邮件是否已激活。

答案 1 :(得分:0)

不,但您可以在第一个标签中运行Javascript,每隔10秒左右ping一次服务器,以检查帐户是否已确认。

如果是,则页面会将自身重定向到新用户的仪表板(或其他一些“主帐户页面”)。

setInterval(function(){
    $.get('/api/is_confirmed.php').then(
        function(response){
            if (response.status_code == '200')
                window.location = '/dashboard.php';
        }
    );
}, 10000);

我会建议反对self.close()窗口。不要干扰用户对浏览器选项卡的控制。对于用户来说突然消失的标签对于用户来说是意料之外的,并且最好是令人讨厌,最糟糕的是可怕。

答案 2 :(得分:0)

你可以做的一件事是:

1-不要在该电子邮件中添加指向您页面的链接,而是将链接添加到更改数据库值的特殊页面,然后自行关闭。

2-在主页面上,让一个线程不断轮询该数据库值,并在看到更改后立即使用ajax(或刷新)更新页面,然后将更明亮的内容置于其他窗口之上。