我有一个php文件,它从db返回新项目并使用ajax,我用一些新项目更新一个div。
为了使它看起来有点像facebook,我在setInterval(3000 ms)
ajax调用内。这里好。
现在我想在新物品出现时发出声音。
我的代码如下所示:
$.ajax({
type: "POST",
url: "script.php",
data: { action : somedata },
cache: false,
success: function(html){
if(html > 0) {
// update div
}else{
//do nothing
}
}
})`
我用谷歌搜索了如何在jQuery中播放声音,我得到了一个有效的解决方案:
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'notification.ogg');
audioElement.setAttribute('autoplay', 'autoplay');
$.get();
audioElement.addEventListener("load", function() {
audioElement.play();
}, true);
如果我把前面的代码放在这里:
if(html > 0) {
here
}
声音播放,但是有问题。它每3000毫秒播放一次。我不想要这个。我想只在数据库中出现新项目时才播放它,而不是每次都进行ajax调用时都会播放它。
我怎样才能实现这个目标?