Autor Zpráva
kOsTEj
Profil
Ahoj,

potreboval bych do stranky vlozit jeste jednu stranku. Je zadouci, aby se me ta vlozena stranka periodicky refreshovala, protoze jeji velikost narusta.

Bohuzel nemuzu(nebo alespon nevim jak) pouzit AJAX, ktery by tento problem resil. Situace je totiz takova,ze provadim paralelni vypocet, ze ktereho potrebuji dilci vysledky zobrazovat. Libilo by se me, kdyby to mohlo byt v jedne strance spolu s puvodnim kodem a formem pro odeslani pozadavku pro vypocet. Jenze prohlizece cekaji, dokud cely skript neskonci a tudiz se me AJAXova cast spusti, az kdyz je stranka uplne nactena.

Napadlo me pouzit <iframe>, ktery problem resi, nicmene Vas prosim bud o nejaky napad a nebo o funkcni skript, ktery by dynamicky rozsiroval "height" <iframe> podle obsahu, aby nemel scrollbary a vzdy zobrazil celou stranku.

diky
Bubák
Profil
skript, ktery by dynamicky rozsiroval "height"
Skript na rozšíření výšky?
http://teststranek.kvalitne.cz/iframe2/
Stránka a iframe musí být na stejné doméně, jinak to nefunguje.
peta
Profil
kOsTEj
A ten iframe ti funguje? Uz to mas otestovane? Jenom tedy potrebuje dynamicky nastavovat vysku.
'tudiz se me AJAXova cast spusti'
'Jenze prohlizece cekaji, dokud cely skript neskonci'
Ja jen, ze to mas uplne jedno, kterou ajax metodu pouzijes, jestli iframe nebo httprequest. Podstatne je, jak je napsan ten script.
Kdyz si to napises tak, ze se ma pockat na vysledek scriptu, tak to tak funguje.

'provadim paralelni vypocet'
to muze znamenat cokoliv, kdyz to bliz nevysvetlis

'ze ktereho potrebuji dilci vysledky zobrazovat'
ty vysledky se nejak ukladaji? to pocitas php nebo javascriptem? javascript neumi pocitat s velkou presnosti cisel, pozor na to. Nedavno tu byl dotaz se zaokrouhlovanim typu 1234 / 2, kde to vyhodilo xxx.0001 napr.

Zkus se podivat, jak je reseny program bigdump.php .
Dalsi reseni jsem videl pomoci multi stranek, ted si nevzpomenu presne na minetype, ktere je treba nastavit.
A jeste neco podobne ma migrujici script prechodu ze starsi verze na novejsi u Moodle, kde to prubezne zobrazuje stav, kde prave pokrocil s migraci databaze / souboru a co mu neslo (asi nejaky sileny script).
Bubák
Profil
Nedavno tu byl dotaz se zaokrouhlovanim typu 1234 / 2, kde to vyhodilo xxx.0001 napr.
No tak peta, nepřesnost samozřejmě je, alo o 10 řádů menší.
kOsTEj
Profil
peta
Tak kdybych to teda popsal lepe...
Mam takovou predstavu - stranka, ktera obsahuje :

form - kde nastavim parametry pro ten paralelni vypocet. Proste pocet vlaken a co maj delat.
log z vypoctu - v tej paralelni operaci kazde vlakno uklada log zpravy do db a ja bych je potreboval v prubehu ty operace(ktera muze trvat i 20min) vypisovat v teto casti

Je to psane v Perlu, ktery se chova pro tento pripad stejne jako treba PHP.

A ja hledam zpusob, jak ty log zpravy nak periodicky vypisovat bez refreshe stranky.
Zkousel jsem AJAX,... mozna spatne, ale kazdopadne, dokud bezi vsechny pocitajici vlakna, tak prohlizec "nacita" stranku, coz je v poradku, ale ten blok, ktery je AJAXem ovladan se zobrazi, az prohlizec "dokonci" nacitani cele stranky - takze se me ukazou az kompletni logy a ne prubezne.

Proto jsem pouzil <iframe> a do nej vlozil stranku s tim AJAXem a vsechno funguje jak ma, akorat ten <iframe> se nezvetsuje podle "zvetsujici" se stranky, ktera je ovladana tim AJAXem. Bohuzel ani Bubákovo reseni nezabralo, nevim proc, asi protoze to ceka na nacteni cele stranky, a nebo tam mam nakou chybu ja.

kazdopadne diky za Vase postrehy
mahony
Profil *
Ahoj,

tady je kus kódu, který funguje.

http://home.zcu.cz/~honzik1/kostej/ajax.zip

Je to formulář s tlačítkem (index.html), který spouští na pozadí skript. Ten 10x generuje log do databáze se zpožděním 3 sekundy (generate.php). Druhý skript (backend.php) vrací zprávy z databáze. Obojí je z index.html voláno ajaxově. Když na formuláři několikrát klikneš na tlačítko generuj, několikrát se ajaxem zavolá skript, který zapisuje logy do databáze. Index.html si periodicky po 2 sekundách volá backend.php, který si vrací zprávy z databáze a ty jsou vypisovány do odstavce (nebo do jakéhokoliv jiného prvku). Kódu se neděs... narychlo sem přepsal příklad ajaxového chatu pomocí jQuery :)

V tom zipu je sql.sql, která vytvoří potřebnou databázi.
kOsTEj
Profil
Tak diky vsem za rady, nakonec jsem to vyresil tak, ze jsem cast skriptu, ktera provadela paralelni vypocet ( a na ni to stalo), presunul do samostatneho souboru a pomoci ajaxu ji predaval parametry... Tim jsem odstranil problem, kdy prohlizec cekal na tuto cast kodu, nez ukonci nacitani stranky...

diky
Toto téma je uzamčeno. Odpověď nelze zaslat.

0