我想用jquery进行实时通知,并在添加新条目时播放声音,但我的脚本重复播放音频
前端:
<script>
setInterval(
function()
{
$('#orderjum').load('refresh/jumlahorder.php');}, 1000);
</script>
后端:
<?
require("../../include/koneksi.php");
$sql = "Select * FROM pemesanan";
$result = mysqli_query($konek,$sql) or die(mysqli_error($konek));
$num_rows = mysqli_num_rows($result);
echo "<h3>$num_rows</h3>
<p>Total Orders</p> <audio controls autoplay hidden='true'>
<source src='http://www.w3schools.com/html/horse.ogg' type='audio/ogg'>
</audio>";exit;
?>
答案 0 :(得分:3)
你应该创建一个脚本(在PHP中),以便你可以选择使用JS AJAX检查是否有任何变化。如果有任何更新,PHP文件(例如文件名为 - backend_file.php )将返回 true ,如果没有新事件发生,则返回false。
因此,在这种情况下,JS的代码就是这样 -
setTimeout("checkUpdate()",1000); //poll every second
function checkUpdate()
{
$.post("backend_file.php", function(data, status)
{
if (data.toString()=="true")
{
playSound();
}
});
}
function playSound()
{
var audio = new Audio('http://www.rangde.org/static/bell-ring-01.mp3');
audio.play();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>