我正在创建一个关于足球的浏览器游戏,它有一个计数器。每当计数器达到0(从10分钟),你就可以踢出一个目标。如果您更改标签或在同一页面中停留太长时间(无需刷新或转到网站的其他页面),计数器将冻结/停止。如果你从其他标签回来(回到游戏标签),计数器将解冻(但它会被窃听,并且它会从“错误的时间”继续,这个时间在你没有进入游戏标签时暂停)
基本上就是这样。我想要的是,即使您正在浏览另一个标签页(或者如果您不刷新页面),计数器也能正常工作。
我的代码如下:
<?php
ob_start();
$Atempo_permitido = 600; // tempo em segundos até redirecionar
$Atempo_atual = mktime(date("H:i:s"));
if($_COOKIE['ACookie_countdown']=="") {
$Atempo_entrada = mktime(date("H:i:s"));
$Atempo_cookie = '3600'; // em segundos
setcookie("ACookie_countdown", "$Atempo_entrada", time()+86400*365);
} else {
$Atempo_gravado = $_COOKIE['ACookie_countdown'];
$Atempo_gerado = $Atempo_atual-$Atempo_gravado;
$Afim = $Atempo_permitido-$Atempo_gerado;
if($Afim <= 0) {
echo "tempo esgotado";
} else {
//echo $fim;
}
}
?>
<script language="Javascript" type="text/javascript">
var Asegs = '<?php if($Afim=="") { echo $Atempo_permitido+1; } else { echo "$Afim"; } ?>';
var Ats = Asegs*10;
Atuw1();
function Atuw1(){
Asegs = parseInt(Ats / 10);
Asegs = Asegs % 3600;
Aminutes = parseInt(Asegs / 60);
Asegs = Asegs % 60;
if(Ats>0){
document.getElementById("Avalor").innerHTML = "Tempo restante: " + "00" + ":<?php if($Afim <=540){echo "0";}?>" + Aminutes + ":" + Asegs + "h";
Ats = Ats-1;
setTimeout("Atuw1()", 100)
} else {
document.getElementById("Adiv1").innerHTML = 'Você já pode chutar!';
location.href='index.php?menu=gol';
}
}
</script>
<!-- BLOCO 1 //-->
<body onLoad="Atuw1();Btuw1();Ctuw1();Dtuw1();Etuw1();">
<div id="Avalor"></div>
<div id="Adiv1"></div>
如果你们能告诉我如何使这项工作有所了解。