Autor Zpráva
medden
Profil *
Zdravím,
nejakú chvíľu mám v hlave nápad, ako by sa dal riešiť častý problém vytýkaný AJAXu, totižto nie je možné aby adresa v adresnom riadku presne korešpondovala s tým, čo je na stránke (popieranie princípov URL). Nedalo by sa spraviť to, aby sa do adresného riadku dala Javascriptom iná adresa, niečo na spôsob window.location = "..." bez toho, aby došlo k presmerovaniu? Takto by sa pri nejakej AJAXovej udalosti, keď sa mení obsah stránky menila spolu s tým aj URL, a keď by došlo k refreshu stránky, tak by server naservíroval presne to čo chceme.

Nie som až tak to hĺbky znalý Javascriptu, preto pýtam pomoc, dúfam že niekto bude mať nápad ako to poriešiť.
ah01
Profil
Tenhle způsob se běžně používá, koukni se třeba na mapy.cz. Pohni s mapou a pozoruj adresu.
DJ Miky
Profil
ah01
Myslím, že se ptal, jak to udělat, ne jestli to jde udělat... :-)
centi
Profil
location.hash - Ak si pozornejšie všimnete príklad mapy.cz od ah01, tak vidíte, že sa nemení celá URL, ale len tzv. hash (to čo je za mriežkou #) a preto sa stránka nereloadne. Je potom otázkou serverového skriptu, ako takúto URL (s potrebnými dátami za #) spracuje a aké výsledky vráti pri reloade.
ah01
Profil
Myslím, že z toho příkladu je to patrné. Využívá se window.location.hash, což je ta část adresy za #. Při změně na stránce se tahle část adresy patřičně změní. Po načtení stránky a to ať už z oblíbených, tlačítkem zpět nebo zadáním přesné adresy se tenhle řetězec zkontroluje (musí se to dělat v JS, protože tahle část adresy se na server neodesílá) a stránka se patřičně přestaví. Co si do adresy poznamenávat, závisí na konkrétní aplikaci. Existuje ale několik „history“ knihoven, pokud si to nechceš programovat sám, stačí použít google.
medden
Profil *
ah01
Díky moc, to je presne to čo som hľadal.
zero0x
Profil
wow to je perfektne, si tuto diskusiu ihned pridavam do hmm.sk ;-)
Toto téma je uzamčeno. Odpověď nelze zaslat.