0
我有一個關於javascript/php cron問題的問題。以及它本身不是一個問題,但在我的情況是這樣。 我有下面的JavaScript設置一個cookie並倒計數直到該cookie的時間結束。在我的情況下是10分鐘。 我也有一個每10分鐘運行一次的cron文件。 我想用cron文件同步倒計時。php倒計時服務器端
下面的腳本效果很好,當我從頁面調用它但它會從用戶訪問頁面和它的不同步使用cron文件進出口運行時間倒計時。
我明白這不是一個PHP的問題,但網頁即時通訊顯示腳本PHP。
我任何指針? 幫助將不勝感激。 謝謝您的閱讀。
我只有下方。
<div id="countre4">
<script type="text/javascript">
function setCookie(c_name, value)
{
var exdate = new Date();
exdate.setDate(exdate.getDate() + 14);
var c_value = escape(value) + "; expires=" + exdate.toUTCString();
document.cookie = c_name + "=" + c_value;
}
function mycountre(countdownId, countdownTarget, countdownSeconds, countdownLooping){
var countre = document.getElementById(countdownId); // get html element
if (!countre) {
return;
}
var target = countdownTarget; // target time
var intervalId; // id of the interval
setCookie("time", target);
// update function
function updatecountre(){
var time = Math.floor((target - new Date().getTime())/1000); // countdown time in seconds
if (time < 0) { // if countdown ends
if (countdownLooping) { // if it should loop
target += 1000 * countdownSeconds; // set new target time
time = Math.floor((target - new Date().getTime())/1000); // recalculate current time
setCookie("time", target);
} else { // otherwise
clearInterval(intervalId); // clear interval
time = 0; // set time to 0 to avoid displaying negative values
}
}
// split time to seconds, minutes and hours
var seconds = '0' + (time % 60);
time = (time - seconds)/60;
var minutes = '0' + (time % 60);
time = (time - minutes)/60;
var hours = '0' + time;
// make string from splited values
var str = hours.substring(hours.length - 2) + ':' + minutes.substring(minutes.length - 2) + ':' + seconds.substring(seconds.length - 2);
countre.innerHTML = str;
}
intervalId = setInterval(updatecountre, 200); // start interval to execute update function periodically
};
var parts = document.cookie.split(';');
var cookie = new Date().getTime() + 1000 * 15 * 60;
for (var i = 0; i < parts.length; ++i) {
if (parts[i].trim().indexOf('time') == 0) {
var value = parts[i].trim().split('=');
cookie = parseInt(value[1]);
}
}
mycountre(
'countre4', // id of the html element
cookie,
10 * 60, // time in seconds (10min here)
true // loop after countdown ends?
);
</script>
</div>
我將如何在腳本上實現它。我在那裏做的一切都取決於cookie。 :( – user631756 2012-01-19 01:15:52
不幸的是,我想在一個很好的方式說「你沒有錯。」重構你的JavaScript接受的值更直接,而不是使用cookie都沒有。 – 2012-01-19 01:25:39
笑。生病嘗試另一種方法。謝謝你回覆。 – user631756 2012-01-19 01:40:37