4

需要在不同的内容上播放声音,但每次都在播放声音

get.php 中只有一个回显可以正常工作,如果我将 get.php 中的代码更改为解析器代码,它的行为就像内容一直不一样

#

html正文代码

#
<div id="main"><?php include("ajax/get.php");?></div>
    <audio id="sound" src="sound/sound.ogg" controls type="audio/ogg" preload="auto" autobuffer></audio>

        <script type="text/javascript">
                var audio=document.getElementById("sound");
                setInterval(function()
                {
                    $.get('ajax/get.php',function(data){
                    if ($('#main').html() !== data){
                        $('#main').html(data);
                        audio.play();                   
                    }                   
                  });
                }, 5000);
        </script>
#

php解析器代码

#
require_once('simple_html_dom.php');

    $html=file_get_html('supersite-content');

    $ret = $html->find('.request');
    foreach ($ret as $key) {
    echo "$key</br></br>";
    }
4

1 回答 1

0

浏览器主要在渲染时修改 html,因此它与文本形式不同。您可以添加缓存来比较原始字符串。像这样的东西:

var audio = $("#sound");
var lastDate = null;
setInterval(function()
{
    $.get('ajax/get.php', function(data) {
    if (lastDate !== data){
        lastDate = data;
        $('#main').html(data);
        audio.play();                   
    }                   
  });
}, 5000);
于 2013-02-01T12:41:08.957 回答