关于新文件内容的Jquery声音通知

时间:2013-11-12 01:49:14

标签: jquery file audio

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

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

1 个答案:

答案 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>