您好,我听说我的脚本在“ 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();
}
});
});'
答案 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的答案涵盖的浏览器选项卡中检查用户的可见性。