我正在为我的教堂曲棍球联赛编写网站,并且我正在尝试制作一个带有实时更新的页面。我目前正在尝试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);
所有变量都在文档的开头定义。
这是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);
并且在文档的开头,所有变量都定义为 timel 和 time 不同。Post.php 只是将发送的内容放到文档中,所以 time.txt 看起来像“06:08”或whatever.aa