我尝试寻找类似的问题,但在这里找不到答案。
我想在每次更改文件内容时发出声音通知。该文件每秒使用 jquery 调用一次。
我想出的代码给出了一个错误,总是每秒发出声音,似乎div 的值为空,因此每次都被认为是不同的
,并且播放声音。有人可以为我解决这个问题吗?
<script type="text/javascript">
var tmp;
$(document).ready(function(){refreshTable();});
function refreshTable(){
tmp=$("#tableHolder2").val();
$.get("temp1.php", doSomethingWithData);
}
function doSomethingWithData(data) {
if(tmp!=data){
$("#tableHolder2").text(data);
var sound = new Audio('bell_ring.ogg');
sound.play();
}
$("#tableHolder").text(data);
setTimeout(refreshTable, 1000);
}
</script>
<div id="tableHolder"></div>
<div id="tableHolder2"></div>
temp1.php 是包含任何内容的普通文本文件。它返回正常,没有错误。问题出在声音上。它不断发出声音,而不仅仅是在数据更改时。
我终于能够让代码工作了。我正在发布答案,以便其他人以后可以使用它。
<script type="text/javascript">
tmp="";
sound = new Audio('bell_ring.ogg');
$(document).ready(function(){refreshTable();});
function refreshTable(){
$.get("temp1.php",withData);
setTimeout(refreshTable, 1000);
}
function withData(data) {
if(tmp!=data){
sound.play();
tmp=data;
}
$("#tableHolder").html(data);
}
</script>