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);
});代码>