Autor Zpráva
lukaszafer
Profil
Ahoj,
Potřeboval bych něco jako je u flashe kolik ještě zbývá % do úplného načtení stránek zkoušel jsem i hledat na google,ale nic z toho mi nepomohlo ... :-) Nezná někdo něco spolehlivějšího nebo jak to udělat v JS a nebo PHP ... Děkuji za každou reakci.
tomas657
Profil
Povedal by som, že PHP aplikácie sa načítajú tak rýchlo, že by si užívateľ ani nestačil všimnúť, že tam nejaké počítadlo percent je.... podľa mňa zbytočnosť.. i ked som možno zle pochopil... ale ak som správne pochopil, tak podľa mňa je to zbytočnosť...
suvel
Profil
Možná to až tak zbytečné není. Sám bych něco podobného rád využil na webu (php), který se po zadání určitých hodnot sám zavolá a z databáze načte nové hodnoty, provede někdy složité výpočty a pak nové výsledky zobrazí. Problém je v tom, že někdy načítání z databáze trvá trochu déle a na stránce se mezitím z hlediska uživatele nic neděje. Optimální by bylo, aby se po dobu načítání někde napsalo třeba "prosím, čekejte" nebo třeba maličký animovaný gif - hodiny s ručičkou nebo tak něco - a po načtení stránky to zmizelo. Už sedím přes hodinu u compu, hledám všude možně a když nechci Flash, který neumím, nic jsem nenašel.
Prosím, jestli jste to už někdo řešil, pomozte! Dík
Bubák
Profil
suvel:
hledám všude možně a když nechci Flash, který neumím, nic jsem nenašel
Pokud ti to bude stačit, uprav si tohle: http://teststranek.kvalitne.cz/obrazek-zobrazit-nacteny.html
Protoče tě nezajímá načtení obrázku, událost onload dej na element BODY, který neskrývej.
suvel
Profil
Díky. Jenže doteď se to snažím rozchodit a ten "čekací obrázek a nápis" se prostě nezobrazí. Abych měl jistotu, že nedělám nějakou jinou chybu, dal jsem si do těla skript <?while($x<9999999) {$x++;}?> a nechal si zobrazit načtení stránky:

<body onload='document.getElementById("hotovo").style.display="none";  alert("Dokument je načten"); '>


Alert mi skutečně vyskočí až po několika vteřinách (mezitím se stránka načítá), ale do té doby, než vyskočí, se "čekací obrázek a nápis" prostě nezobrazí. Zkoušel jsem kde co, logicky mi to připadá správně napsané, ale prostě to nechodí. Co s tím? Kde je chyba?
(Samozřejmě, že když tomu obrázku a textu zruším id, zobrazí se. Proč se na něj aplikuje display="none" okamžitě, když ještě stránka není načtená?)
suvel
Profil
Byl jsem včera asi v krizi. Samozřejmě to v mém případě nemůže fungovat, protože když volá php sám sebe, původní stránka zůstává v prohlížeči tak dlouho, dokud se na serveru neprovedou výpočty a není odeslána stránka nová. Tedy až pak dojde prakticky současně k události onUnload a onload. Tudy cesta nevede. Ale je vůbec nějaká možnost, jak v mezidobí mezi odesláním požadavku a načtení nové stránky indikovat uživateli, že se něco děje a aby čekal?
suvel
Profil
Nikdo nic? Pomoz si sám :-)
Nejspíš to není nejelegantnější řešení, ale funguje to. Princip je následující (umístěte soubory do jedné složky a spusťte soubor stranka.php):

soubor "stranka.php":
<h1> Hlavní stránka</h1>
<p>
texty,<br>
grafika...
<?while($x<9999999) $x++; // Simulace složitých výpočtů a čtení z databáze?>
<FORM ACTION='./wait.php'>
<INPUT TYPE='SUBMIT' VALUE=' OK '>
</FORM>


soubor "wait.php":
<?echo file_get_contents("./stranka_w.php");?>
<div style='position: absolute; top: 200px; left: 400px; margin: 0 auto;'>
<h2>Čekej...</h2>
</div>
<SCRIPT LANGUAGE="JavaScript">
	window.location.replace("./stranka.php"); 
</SCRIPT>


soubor "stranka_w.php":
<h1> Hlavní stránka</h1>
<p>
texty,<br>
grafika...
<FORM>
<INPUT DISABLED TYPE=SUBMIT VALUE=' OK '>
</FORM>


Kdyby to někdo potřeboval...

Samozřejmě, ideální by bylo, kdyby šla nějakou podobnou funkcí jako file_get_contents načíst jen grafika - sejmout jako obrázek? Nevím, ale nikde jsem napřišel na to, jestli a jak by to šlo. Tedy pokud to nechci celé programovat v nějakém vyšším jazyce...

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: