我正在为我的教堂曲棍球联盟编制网站编程,我正在尝试制作一个包含实时更新的网页。我目前正在尝试setInterval()
发信号通知php更新time.txt,实时页面可以从中抽取时间。因此update.html有时间,这个页面将时间发送到带有get函数的php文档,该函数将时间写入time.txt,然后live.html每隔5秒获得一次setInterval()
。在5秒内,live.html会保留自己的时间,但需要每5次检查一次暂停或时间变化。
问题是这样的:服务器不能每2.5秒处理一次更新time.txt所以我需要一个更简单的方法,不需要我每2.5更新一次time.txt,但是live.html仍然可以得到时间,暂停和时间的变化。
请帮助。
这是update.html
$('#play').click(function(){
if(pause == true){
$('#play').attr('src',"mup/pause.jpg");
$.get("mup/postt.php", {text: "11"});
pause = false;
} else {
$('#play').attr('src',"mup/play.jpg");
$.get("mup/postt.php", {text: "09"});
pause = true;
}
});
function updatet(){
if(sec < 10){
if(min < 10){
var clientmsg = "0" + min + ":0" + sec;
} else {
var clientmsg = min + ":0" + sec;
}
} else {
if(min < 10){
var clientmsg = "0" + min + ":" + sec;
} else {
var clientmsg = min + ":" + sec;
}
}
$.get("mup/postt.php", {text: clientmsg});
}
setInterval (timer, 1000);
setInterval (updatet, 3000);
所有变量都在doc的开头定义。
这里是live.html
function timer() {
if(stop == true){
$("#time").html("<h5>Game Stopped</h5>");
} else {
sec = sec-1;
if(sec <= -1){
sec = 59;
min = min-1;
if(min <= -1){
sec=0;
min=0;
}
}
$("#time").html("\<h2\>"+min+":"+sec+"\</h2\>");
}
}
loadLog() {
$.ajax({
url: "mup/time.txt",
cache: false,
success: function(html){
var min = html.charAt(0).concat(html.charAt(1));
var sec = html.charAt(3).concat(html.charAt(4));
var time = min + ":" + sec;
if(time == timel){
stop = true;
} else {
stop = false;
}
timel = time;
},
});
}
setInterval (loadLog, 5000);
setInterval (timer, 1000);
并且在doc的开头,所有变量都定义为timel和time不同。 Post.php只是把发送的东西放到doc上,所以time.txt看起来像“06:08”或者what.aa