Autor Zpráva
Lucas
Profil *
Ahoj,
potrebujem nakopnut, pretoze neviem najst riesenie pre nasledujuci problem.

Mam vacsiu aplikaciu, ktora cela pracuje na baze Ajaxu, teda menim len jednotlive bloky (div elementy). Vsetko bezi OK, len neviem vyriesit proces "Krok spet". Nemyslim tlacitko "O 1 stranku naspet", ale nasledujuce:
- Kliknem na button, nacitam a pozmenim niektory DIV. V novom obsahu DIV elementu bude aj tlacitko Storno alebo Spat a chcem dosiahnut to, ked na to kliknem, aby sa v DIV elemente objavil jeho predchadzajuci obsah.

Neviem vobec ako na to... stale pri nejakej akcii vygenerovat nejake ID a zapisovat do DB a nasledne zistim, co bolo v kroku -1 ? Nebude to zbytocne zatazovat SQL server ?
tomas657
Profil
Trochu odbočím od témy.... "speť" sa píše "späť"
Lucas
Profil *
Diky blbecku za hodnotny prispevok.
joe
Profil
Lucas
Nevim jestli ti to pomůže, ale když koukneš na mapy.cz, tak tam jim to funguje :-) Jenom tohle ale není důvod, proč ti zkouším poradit. Viděl jsem přednášku od seznamáckých skripterů (rozuměj ti, co píšou JS), že se to řeší třeba použitím iframu. Moc ti to asi neporadí, sám si teď nedovedu představit jak to funguje, ale...

když koukneš na zmíněné mapy, tak poloha se ukládá za hashem (#), tzn, že když někomu pošleš takový odkaz, zobrazí se mu ta samá mapa. A právě tady to bude nějak provázané s tím iframem, že se znovu po kliknutí na tlačítko zpět načte adresa s jiným hashstringem. Myslim, že když se pokusíš to hledat, určitě něco najdeš.

Ale podle mě základ je v tom, že když zadáš adresu

example.com#id=4
example.com#id=5

Zobrazí se jiný obsah.
DJ Miky
Profil
Funguje to právě na tom principu hashe. V JS se k němu dá přistupovat pomocí document.location.hash, takže při nějaké AJAXové akci ho normálně změníš, při načtení stránky si zase načteš obsah hashe a podle něj zobrazíš příslušnou stránku.
Yuhů
Profil
Myslím, že se to dělá tak, že se vytvoří mrňavý 1x1 nebo skrytý iframe a do něj se posílá nová location při každé změně obsahu. To zaručí, že prohlížeč nevycouvá úplně z aplikace, když někdo zmáčkne na tlačítko zpět v prohlížeči a že zároveň tohle tlačítko v prohlížeči půjde rozumně použít. No a někde musíš ukládat tu historii (i dopřednou) v nějaké formě, ale nemusí to být v databázi, může to být v javacriptovém poli. Pak už jenom je nějaký trik, který si nepamatuju, který při tom zacouvání nebo kroku vpřed vyvolá patřičnou událost.
joe
Profil
DJ Miky
Jenže tak jednoduché to není jak popisuješ. Tlačítkem zpět se sice mění hash v adresním řádku. Ale stránká zůstává stejná a nevrací se zpět. Alespoň teda v mém řešení ne.
panhuhu
Profil
Yuhů
Pak už jenom je nějaký trik, který si nepamatuju
Myslím, že je to nastavený timer, který pravidelně zjišťuje změnu stavu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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