Javascript ajax、jquery和html5声音
所以我在javascript、jquery或ajax方面的经验很少,但似乎我需要所有这些东西来完成我想做的事情 我有一个网站,每分钟都有一次全身置换。正文中有一个html5音频标签,如下所示:Javascript ajax、jquery和html5声音,javascript,jquery,ajax,html,audio,Javascript,Jquery,Ajax,Html,Audio,所以我在javascript、jquery或ajax方面的经验很少,但似乎我需要所有这些东西来完成我想做的事情 我有一个网站,每分钟都有一次全身置换。正文中有一个html5音频标签,如下所示: <audio id='sound'> <source src="test.mp3" type="audio/mpeg"> </audio> 一旦通过jquery刷新了整个主体,下面的ajax脚本我想播放这个音频标签 所以我想我设置了两个功能,一个重新加载站点,
<audio id='sound'>
<source src="test.mp3" type="audio/mpeg">
</audio>
一旦通过jquery刷新了整个主体,下面的ajax脚本我想播放这个音频标签
所以我想我设置了两个功能,一个重新加载站点,一个播放声音。但是,这不起作用,因为ajax是异步的。在刷新之前播放声音
我一直在阅读,似乎我需要回电来做我想做的事情。但是由于我对javascript、jquery和ajax都知之甚少,我迷失了方向
我必须使用这样的刷新,因为我不想因为连接错误而在找不到的站点或类似的地方结束
而且,在我看来,我的全身置换可能需要一些工作,因为使用这样的正则表达式似乎太过分了
最后一个连接块只是一个小的彩色块,在这里我可以看到网站的最后状态
<script type="text/javascript">
function update_site() {
$.ajax({
url: "/test",
dataType: "html",
cache: false,
success: function(data) {
// Replace body with loaded site. You can do more checks here to check
// if the fetched content is all there.
var body_html = data.replace(/^[\S\s]*<body[^>]*?>/i, "")
.replace(/<\/body[\S\s]*$/i, "");
$('body').html(body_html);
$('.last_connect').css('background-color', 'blue');
},
error: function(data) {
$('.last_connect').css('background-color', 'red');
}
});
}
function play_snd() {
$('.last_connect').css('background-color', 'yellow');
$('#sound').trigger("play");
}
// Run every 20 secs.
window.setInterval(function() {
update_site();
play_snd();
}, 4000);
</script>
函数更新_站点(){
$.ajax({
url:“/test”,
数据类型:“html”,
cache:false,
成功:功能(数据){
//用加载的站点替换正文。您可以在此处执行更多检查以检查
//如果提取的内容都在那里。
var body_html=data.replace(/^[\S\S]*]*?>/i,“”)
.replace(/是的,我知道它们是不同的,只是一个输入错误,现在已经修复好了,很公平。再次,祝你好运!为什么不把你的play\u snd()
insidesuccess
调用ajax
请求,而不是setInterval
回调?每次传递的数据中都有什么?你能控制它吗?为什么不添加一个声音1次,然后检查某个服务器函数,确保它是活动的,如果是,播放该声音?整个身体都在数据中。这只是一些标准的html数据。唯一更高级的是前面提到的音频标记。我控制它,因为后端是python flask服务器。下次刷新时声音可能会有所不同。如果有办法通过jquery从服务器获取单个变量,然后直接使用它来播放同样有效的声音。som将如何处理你喜欢那样的工作吗?