|
|
|
| Есть такой скрипт, время тикает нормально, а пинг срабатывет только один раз, если обновить страницу то он сработает еще раз и замирает, а время идет.
Не подскажите почему это просходит или как обойти, а может другой способ предложите.
Это просто тестовый скрипт, пытаюсь технологию работы php и javascript понять, а вообще была задумка чтобы он заданный скрипт пинговал заданный узел и время выводил столбиком в реальном времени (интересно такое возможно?).
<p><?php include 'function.inc'; ?><b id='clock'></b></p>
<script Language="JavaScript">
<!--
var timeStr, dateStr, ostStr, x;
function clock() {
now= new Date();
ex = new Date(2007,0,1,0,0,0);
// врем\я
hours= now.getHours();
minutes= now.getMinutes();
seconds= now.getSeconds();
timeStr= "" + hours;
timeStr+= ((minutes < 10) ? ":0" : ":") + minutes;
// дата
date= now.getDate();
month= now.getMonth()+1;
year= now.getYear();
dateStr= "" + date;
dateStr+= ((month < 10) ? "/0" : "/") + month;
dateStr+= "/" + year;
ostStr= "";
x = (ex.getTime() - now.getTime())/1000;
ostStr= Math.floor(x/60/60/24) + ' д. ';
//ostStr = ostStr + Math.floor(x/60/60) + ' ч. ';
//ostStr = ostStr + Math.floor(x/60/60/24)*24 + ' ч. ';
ostStr = ostStr + Math.floor(x/60/60-Math.floor(x/60/60/24)*24) + ' ч. ';
ostStr = ostStr + Math.floor((x/60/60 - Math.floor(x/60/60))*60) + ' мин. ';
x = (((x/60/60 - Math.floor(x/60/60))*60) - Math.floor((x/60/60 - Math.floor(x/60/60))*60))*60;
ostStr = ostStr + Math.floor(x) + ' сек. ';
document.getElementById('clock').innerHTML = '<?php echo ping('172.19.97.162','300'); ?>'+'---'+ostStr;
Timer= setTimeout("clock()",3000);}
clock();
-->
</script> | |
|
|
|
|
|
|
|
для: demon
(06.12.2006 в 15:03)
| | Может заинтересовать статья про идущие часы серверного времени на клиенте - http://javascript.aho.ru/example/xmp001/timeServer.php . Время сервера берётся 1 раз при загрузке. В вашем скрипте пингуется другой сервер - возможно, он не дожидается ответа.
Там, во второй части как раз собирался решить этот вопрос - опросить серверы с точным временем с хоста, проголосовать за точное время, подать ответ на клиента. | |
|
|
|
|
|
|
|
для: 12345
(06.12.2006 в 15:25)
| | Да со временем проблем нет, оно тикает и взято просто для примера, а почему тогда первый раз пинг выполняется а последующие разы нет? | |
|
|
|
|
|
|
|
для: 12345
(06.12.2006 в 15:25)
| | а еще вопросик можно это как у тебя скрипт работает
Dphp=<?=gmmktime()?>*1000;)
у меня когда пишу
document.getElementById('clock').innerHTML = '<?php =ping('172.19.97.162','300') ?>'+'---'+ostStr;
выходит ошибка
Parse error: parse error, unexpected '=' in C:\Apache\www\test.php on line 54 | |
|
|
|
|
|
|
|
для: DEMON
(06.12.2006 в 16:50)
| | <?php =ping Убрать знак равенства | |
|
|
|