使用带有alerify的javascript,如果页面已刷新/重新加载,请关闭选项卡

时间:2019-06-18 08:44:04

标签: javascript alertifyjs

我想防止同时打开两个选项卡。我正在使用BroadcastChannel在选项卡之间进行通信。当打开新标签页时,它将发布一条消息,该消息将被第一个标签页接收,然后我开始关闭程序。我使用alertify.js来警告用户该页面将被关闭,并且在用户按下“确定”按钮后,该选项卡将关闭。问题是,如果您尝试重新加载/刷新页面,所有内容都会崩溃,因此如果用户尝试重新加载/刷新页面,我也需要关闭页面。

在这一方面,我肯定被封锁了,我的所有研究都没有为我的问题提供答案

// open a chanel so that multiple tabs communicate between them
const channel = new BroadcastChannel('multipleTabs');

// broadcast a message to all other open tabs
channel.postMessage('killTab');

// listen for broadcasts from other tabs
channel.onmessage = function(e) {
    // confirm the broadcast message
    if (e.data === 'killTab')
        alertify.alert('You opened a second tab, this one will be closed.')
            // on click the tab will be closed
            .set('onok', function(closeEvent){
                window.close();
            });
};

0 个答案:

没有答案