|
|
|
| Собсно сабж.
Как сделать так чтобы выводились сообщения пока скрипт выполняется, а то скрипт выполняется долго и хотелось бы понимать на каком он этапе уже!? | |
|
|
|
|
|
|
|
для: trix
(27.11.2009 в 23:29)
| | ищите по запросу AJAX | |
|
|
|
|
|
|
|
для: trix
(27.11.2009 в 23:29)
| | На чём скрипт? | |
|
|
|
|
|
|
|
для: ~AquaZ~
(27.11.2009 в 23:43)
| | Я имел в виду php ! | |
|
|
|
|
|
|
|
для: trix
(28.11.2009 в 00:06)
| | Без технологий подобных AJAX никак | |
|
|
|
|
|
|
|
для: Valick
(28.11.2009 в 00:22)
| | простите, при чем здесь AJAX ?
AJAX - это технология асинхронного исполнения клиентских запросов к серверу. | |
|
|
|
|
|
|
|
для: Trianon
(28.11.2009 в 00:28)
| | Valick видимо имел ввиду "эмуляцию" запроса сервером клиента. | |
|
|
|
|
|
|
|
|
для: trix
(27.11.2009 в 23:29)
| |
/*
Схему можно заменить и Ajax - ом в общем примерно как то так :)
*/
<script language="javascript" type="text/javascript">
var intervalid = null;
var result = "";
var stop = false;
function getResult()
{
var frame = null;
var res = null;
if ( document.getElementById )
{
frame = document.getElementById( "frame" );
res = document.getElementById( "result" );
}
else if (document.all)
{
frame = document.all["frame"];
res = document.all["result"];
}
else if (document.layers)
{
frame = document.layers["frame"];
res = document.layers["result"];
}
else
return;
if( !stop )
{
var iframe = "<iframe src='result.html'>";
frame.innerHTML = iframe;
}
else // Если результат загружен останавливаем
{
window.clearInterval( intervalid );
res.innerHTML = result;
}
}
window.onload = function()
{
intervalid = window.setInterval("getResult", 500);
}
</script>
<div id="frame"></div>
<span id="result"></span>
<?php
// PHP скрипт
$fh = @fopen( "result.html", "w" );
while( true )// Осторожно это бесконечный цыкл!!!
{
// какой то цыкл с записью результатов
$result = "Какой то результат...";
$fh = @fopen( "result.html", "w" );
@fwrite($fh, '<script language="javascript">');
@fwrite( $fh, 'window.onload = function(){' );
@fwrite( $fh, 'top.result = "'.$result.'";' ); // если в строке есть символы \r\n замените их иначе будет ошибка
@fwrite( $fh, 'top.stop = true;' ); // если нужно остановить скрипт
@fwrite( $fh, '}' );
@fwrite( $fh, '</script>' );
@fclose( $fh );
}
?>
|
| |
|
|
|
|
|
|
|
для: Jackkum
(28.11.2009 в 20:20)
| | Оригинальный ajax.... и мертвый NN не забыт даже. | |
|
|
|
|
|
|
|
для: trix
(27.11.2009 в 23:29)
| | Если есть возможность править php.ini, то в разделе буферизации вывода смотрите, а в самом коде flush() после оперции пишите | |
|
|
|
|
|
|
|
для: mihdan
(30.11.2009 в 17:15)
| | на каждом этапе дописывайте лог и подгружайте AJAX'ом. | |
|
|
|
|