ユーザーが一定期間コンテンツを編集できるスクリプトがあるため、この時間カウンターを追加しました。
function StartCountDown(myDiv,myTargetDate)
{
var dthen = new Date(myTargetDate);
var dnow = new Date("<?php echo $targetdate ?>");
ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(myDiv,gsecs);
}
function Calcage(secs, num1, num2)
{
s = ((Math.floor(secs/num1))%num2).toString();
if (s.length < 2)
{
s = "0" + s;
}
return (s);
}
function CountBack(myDiv, secs)
{
var DisplayStr;
var DisplayFormat = "%%D%% %%H%%:%%M%%:%%S%%";
if(secs>86400)
{
DisplayStr = DisplayFormat.replace(/%%D%%/g, Calcage(secs,86400,100000)+' Days');
}
else
{
DisplayStr = DisplayFormat.replace(/%%D%%/g,"");
}
if(secs>3600)
{
DisplayStr = DisplayStr.replace(/%%H%%/g, Calcage(secs,3600,24));
}
else
{
DisplayStr = DisplayFormat.replace(/%%D%% %%H%%/g,"00");
}
DisplayStr = DisplayStr.replace(/%%M%%/g, Calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, Calcage(secs,1,60));
if(secs > 0)
{
document.getElementById(myDiv).innerHTML = DisplayStr;
setTimeout("CountBack('" + myDiv + "'," + (secs-1) + ");", 990);
}
else
{
document.getElementById(myDiv).innerHTML = "Period Over";
}
}
カウンターは正常に機能しており、残り時間をカウントしますが、ユーザーがページを離れずに残り時間が 0 に達した場合、このメッセージ (ピリオド オーバー) が表示され、コンテンツを編集できるようになります。
私が探しているのは、(ピリオドオーバー)の代わりに、カウンターが目標時間に達したときにページャーをリロードまたはリフレッシュするコードです。
ありがとう、