Tab处于活动状态时播放声音

时间:2018-09-15 14:09:08

标签: javascript

您好,我听说我的脚本在“ Tab”不处于活动状态时可以播放声音,如何更改它以便在我处于“ Tab”状态时也可以播放?

'document.addEventListener('chatLoaded', function(event) {
event.chat.audioControl.loadSoundFile('http://www.soundjay.com/misc/sounds/handbag-lock-4.mp3');
document.addEventListener('newMessage', function(event) {
    var chat = event.chat;
    if (!chat.isActiveTab()) {
        event.chat.audioControl.play();
    }
});

});'

2 个答案:

答案 0 :(得分:0)

使用focus()和blur()函数检测tab是否处于活动状态。 或者,您可以使用页面可见性API(https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API

答案 1 :(得分:0)

如果我错了,请纠正我,但是如果我对您的问题答对了,当您说“ tab”时,您的意思是浏览器标签,对我来说,这似乎很简单。您所需要做的就是删除if语句,然后在每次触发事件时播放声音:

document.addEventListener('newMessage', function(event) {
    event.chat.audioControl.play();
});

如果使用“ tab”表示HTML元素,则可以使用模糊和聚焦事件来跟踪聚焦状态。在这种情况下,还有解决方案可在Shota Noniashvili的答案涵盖的浏览器选项卡中检查用户的可见性。