JavaScript在用户/选项卡/浏览器处于非活动状态时播放声音

JavaScript在用户/选项卡/浏览器处于非活动状态时播放声音,javascript,jquery,audio,playback,Javascript,Jquery,Audio,Playback,当用户收到消息且用户不在选项卡中时,我使用以下代码播放声音,这意味着当前选项卡处于非活动状态或用户在当前选项卡之外 $(window).hover(function(event) { if (event.fromElement) { console.log("inactive"); } else { console.log("active"); beep("beep.wav", 1.0); //your code here

当用户收到消息且用户不在选项卡中时,我使用以下代码播放声音,这意味着当前选项卡处于非活动状态或用户在当前选项卡之外

$(window).hover(function(event) {
    if (event.fromElement) {
        console.log("inactive");
    } else {
        console.log("active");
        beep("beep.wav", 1.0); //your code here
    }
});
我只想在用户离开标签时播放声音,而不是在标签内播放。现在,只有当用户返回选项卡时才会播放声音。这不是我想要的

我可以看到facebook和gmail这样做,即使用户在另一个标签外,他们怎么做

我搜索了这么多,但找不到任何答案

救救我

从我自己身上发现:

当用户选项卡处于活动状态时,它们将禁用声音:

var isactive = false;

function playSound(){
    if (isactive) return;
    playWav...;
}

onNotificaitonComes = playSound;

$(window).focus(function(){
    isactive = true;
}).blur(function(){
    isactive = false;
});

我想象的是:

var intervalHandler=null;
$(窗口).blur(函数(e){
intervalHandler=window.setInterval(函数(){
document.getElementById('beep').play();
clearInterval(intervalHandler);
}, 1000);
});
$(窗口)。焦点(函数(e){
clearInterval(intervalHandler);
});