我试过寻找类似的问题,但在这里找不到答案。
我想在每次更改文件内容时发出声音通知。每秒使用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是包含任何内容的普通文本文件。它没有错误就返回了。问题在于声音。它不断发出声音,而不仅仅是数据变化。
答案 0 :(得分:1)
我终于能够使代码正常工作了。我发布了答案,以便日后其他人可以使用。
<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>