|
|
|
| Вопрос, можно ли узнать, сколько процентов уже загрузилось станицы в АЯКС? А то на локалхосте всё норм работает, а выкинул на сервак и чёт не грузит :( Вот думаю, это из-за моих кривых ручек, или просто ОООчень долго грузится... | |
|
|
|
|
|
|
|
для: DEM
(28.08.2007 в 00:06)
| | Каким бразом и проценты чего вы узнавали? Выкладывайте код сюда - вас озолотят. | |
|
|
|
|
|
|
|
для: sim5
(28.08.2007 в 06:57)
| | Есть три файла: info.php - в нём есть форма в котрой юзер вводит логин пользователя, есть еще одна папка "js" (без кавычек), в ней содержится: info.js и info.php
Код первого info.php с формой для ввода:
<?php
include_once "inc/functions.php";
echo "<script type='text/javascript' src='js/info.js'></script>";
echo 'Введите имя пользователя, по котрому вы хотите увидеть инфу: <input type="text" id="Name" /><input type="submit" value="Найти!" onclick="process()">
<div id="userinfo" />';
?>
|
Код файла info.js:
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
xmlHttp = false;
}
}
if(!xmlHttp)
alert("Ошибка создания соединения!");
else
return xmlHttp;
}
function process()
{
if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
name = encodeURIComponent(document.getElementById("Name").value);
xmlHttp.open("GET", "js/info.php?name="+name, true);
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
else
{
setTimeout('process()', 10);
document.getElementById("userinfo").innerHTML = "<BR><img src='img/progres.gif' alt='Подожите... идёт загрузка информации'>";
}
}
function handleServerResponse()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
helloMessage = xmlDocumentElement.firstChild.data;
document.getElementById("userinfo").innerHTML = helloMessage;
setTimeout('process()', 10);
}
else
{
alert("Проблема: " + xmlHttp.statusText);
}
}
}
|
Ну и третий файл:
<?php
include_once "../inc/functions.php";
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="Windows-1251"?>';
echo '<response>';
$id = bez($_GET['name']);
$ua = ua($id);
echo htmlspecialchars("<table border='1' align='center'>
<tr><td>Имя</td><td>".$ua['login']."</td></tr>
</table>");
}
else
{
echo htmlspecialchars("<table border='1' align='center'><tr><td>Такйо пользователь не найден! Проверьте правильность ввода его ника!</td></tr></table>");
}
echo '</response>';
?>
|
На локалке всё норм, выкинул в инет - фигня какая-то :( Всё время пишет ПОДОЖДИТЕ (картинка) и всё... никакого эффекта :( | |
|
|
|
|
|
|
|
для: DEM
(28.08.2007 в 23:48)
| | Зачем все это? Если вы о прогрессе загрузки, то у вас ничего не получится, прочтите, например тут, или другие подобные топики этого раздела.
Ну а то что не грузится (что должно не знаю) - причину ищите на сервере (в случае, если ваш код верен). | |
|
|
|
|
|
|
|
для: sim5
(29.08.2007 в 03:11)
| | В том-то всё и дело :) На локалке всё отлично работает, выкинул на свой сайт - фигня какая-то :( Я хотел проверить сколько загрузилось, что бы увидеть, загружается ли вообще :) | |
|
|
|
|
|
|
|
для: sim5
(29.08.2007 в 03:11)
| | если я правильно понял... ведь теоретически можно, пользуясь getResponseHeader("Content-Length") | |
|
|
|
|
|
|
|
для: bronenos
(29.08.2007 в 14:08)
| | Вдаваться в подробности AJAX потребности пока нет, потому не знаю его толком - но что может дать Content-Length? Я может не верно понимаю, но это просто "объем" содержимого, либо максимальный объем при загрузке, а не динамическое измерение объема загружаемого контента. Автор топика, как я понимаю, хочет отображать пользователю процент загруженного контента - многие хотят, а реально как? | |
|
|
|
|
|
|
|
для: sim5
(29.08.2007 в 14:59)
| | если объем большой, то аякс хавает его кусками (если я не ошибся) - readyState==3, и тогда можно responseText.length сравнивать с Content-Length и выводить промежуточный процент | |
|
|
|
|
|
|
|
для: bronenos
(29.08.2007 в 18:48)
| | А мне кажется ничего не надо, если только загружаемый контент более сотни с небольшим КБ, но если он несколько сот КБ, то лучше не томить пользователя процентами, а подумать об хорошей организации сайта. Мне так кажется :) | |
|
|
|
|
|
|
|
для: sim5
(29.08.2007 в 18:54)
| | Тоже хочется поставить... Но аjаx еще не знаю... Может возвращать в виде массива? Первое значение - это общий объем.2ое значение сама информация. Затем поставить проверку объема 2ого значения... ? | |
|
|
|
|
|
|
|
для: Binura
(29.08.2007 в 19:56)
| | Да на здоровье, только вот вопрос - зачем? Если это большой контент, то уже минус - индексация его будет затруднительна. Если это небольшое динамически подгружаемое содержимое, то зачем этот сыр-бор с индикацией.
Если индексация не важна и контент большой, может лучше разбить его содержимое на части, и все-таки пожалеть пользователя? | |
|
|
|
|
|
|
|
для: sim5
(29.08.2007 в 20:07)
| | Ну хочется красивее сделать как будто на флэше... Хотя при большой скорости интернета пользователь и не заметит... Если только делать навигацию для читалки... | |
|
|
|
|
|
|
|
для: Binura
(29.08.2007 в 20:18)
| | Ну если хочется - пробуйте. Но лично я не стану дожидаться 100% загрузки, если каждые 10% приходиться ждать долго, и пусть там хоть манна небесная - уйду :) | |
|
|
|
|
|
|
|
для: DEM
(28.08.2007 в 00:06)
| | А как тогда лучше сделать? :( Пробовал и так подредактировать и эдак, но всегда какая-то фигня выходит :( | |
|
|
|
|
|
|
|
для: DEM
(30.08.2007 в 21:06)
| | >А как тогда лучше сделать?
Лучше просто подгружать данные молча, процесс загрузки имеется в браузерах, стоит ли его дублировать? Вы используете AJAX для чего? Если это небольшой по объему контент - стоит ли того, чтобы мудрить с прогрессом? Ежели это чрезмерно брольшое содержание, то зачем вам AJAX? | |
|
|
|
|
|
|
|
для: sim5
(31.08.2007 в 03:04)
| | Я имел ввиду, что имнео делать с тем, что код написанный вверху не работает :( Думал сначало про права доступа, поставил 777, но та же фигня :( Может где можно взять готовый код? | |
|
|
|
|
|
|
|
для: DEM
(01.09.2007 в 00:04)
| | Готовый код чего? Что не работает? Каки ошибки выдает сервер? Может стоит просмотреть лог файлы сервера. | |
|
|
|