Загрузка...
хотел спросить, незнаю относится ли эта тема ваще к html, но можно с помощью html или Ява скрипт зделать индикатор загрузки страницы. Если вдруг она очень большая??:confused:
Нельзя.
Если перед выдачей страницу внутри размечать чем-нибудь (динамически, статически, как угодно), что затем ловить с помощью JS (подгружаемого в шапке) по ходу ее загрузки, то, полагаю, можно. Но зачем оно надо :O
Цитата: Shiizoo
Если перед выдачей страницу внутри размечать чем-нибудь (динамически, статически, как угодно), что затем ловить с помощью JS (подгружаемого в шапке) по ходу ее загрузки, то, полагаю, можно. Но зачем оно надо :O
Требую работающий пример у студию!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>example on demand</title>
<script>
var done = 0;
function status_refresh() {
done += 5;
document.getElementById("st").innerHTML = done + "% done";
}
</script>
</head>
<body>
<div id="st">0% done</div>
<?php
for ($i = 0; $i < 5000; $i++) {
echo str_repeat('X', 2000) . '<br>';
if (($i > 0) && (($i % 250) == 0)) {
echo '<script>status_refresh();</script>';
}
}
echo '<script>status_refresh();</script>';
?>
</body>
</html>
[/html]
В лоб и без красивостей. Об адекватности подхода утверждать не буду, просто говорю, что реально.
В Chrome заработало, Осел раньше бы повис.
Цитата: Shiizoo
В лоб и без красивостей. Об адекватности подхода утверждать не буду, просто говорю, что реально.
Хороший пример реальной реализации.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>example on demand</title>
<script>
var done = 0;
var tmr = setInterval(function() {
if (document.getElementById('cnt' + (done/5 + 1))) {
done += 5;
document.getElementById("st").firstChild.nodeValue = done + "% done";
}
if (done >= 100) clearInterval(tmr);
}, 500);
</script>
</head>
<body>
<div id="st">0% done</div>
<?php
error_reporting(E_ALL);
echo '<table cellspacing="1" cellpadding="1">';
echo '<tr><th>Prod_ID</th><th>Prod_name</th><th>Prod_price</th></tr>';
for ($i = 0; $i < 5000; $i++) {
if (($i > 0) && (($i % 250) == 0)) {
$str = '<tr id="cnt' . $i / 250 . '"';
sleep(1);
} else $str = '<tr>';
echo $str . "<td>data</td><td>data</td><td>data</td></tr>";
}
echo '<tr id="cnt'. $i / 250 . '"><th>Prod_ID</th><th>Prod_name</th><th>Prod_price</th></tr>';
?>
</body>
</html>
[/html]
Или так. Я кроме как в Oracle BI и огромных HTML документациях нигде больше действительно больших объемов страниц не видел.
---
Впрочем и там на современном канале загрузка моментальная. Это скорее вопрос аудитории с узким каналом, не знаю насколько частое это явление — работать с большим трафиком на доМбитных скоростях =)
Цитата: Shiizoo
Впрочем и там на современном канале загрузка моментальная. Это скорее вопрос аудитории с узким каналом, не знаю насколько частое это явление — работать с большим трафиком на доМбитных скоростях =)
Полностью согласен, поэтому и считаю, что никак это не реализуемо. Ибо в контексте практического применения врятли где пригодиться. А так, где объемы значительные (а обычно это графика) там используют флеш.
З.Ы. У меня 256кб/с ;) все грузиться слету.
Чисто психологически на небольших скоростях ( до 15 кб/сек) приятнее смотреть экран заставки, чем экран белый. Даже на больших скоростях можно визуально показать бегущую, быстробегущую строчечку...приятно всё-таки..