0

我试过寻找类似的问题,但在这里找不到答案。

每次更改文件内容时,我都想发出声音通知。每秒使用 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 是一个包含任何内容的普通文本文件。它返回正常,没有错误。问题出在声音上。它不断发出声音,不仅在数据更改时。

4

1 回答 1

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>
于 2013-11-15T01:44:28.080 回答