Autor Zpráva
Tomas Novella
Profil *
ahoj,
vsimol som si, ze napr. na gmaili, ked idem do inej mailovej "zlozky", tak sa mi meni obsah url len za anchorom(#). Je mi jasne, ze je to preto, aby sa neloadovala stranka znovu.
Mojou otazkou vsak je, ze akym prikazom v javascripte sa prislo na to, ze sa zmenila tato cast url, a ze treba vykonat nejaku akciu?

a este by som mal jednu bonusovu otazku :-) totiz, si nahodou neviete preco facebook hadze niekedy linky typu:
http://www.facebook.com/home.php?#/photo.php?pid=30181738&id=1588152452&ref=nf
cize dava vykonavany skript az za ten krizik(#) - ma to nejake vyhodu oproti tomu, keby daval miesto home.php hned /photo.php (lebo som skusal aj tento sposob, a vystup bol identicky)
bvdfhghd vx
Profil *
http://en.wikipedia.org/wiki/Ajax_(programming)
Tomas Novella
Profil *
ajax poznam, ale to neodpoveda na otazku :-) cim, akym nativnym JS prikazom identifikumem zmenu url?
joe
Profil
Jednoduše, prostě si někam do proměnné ukládat co je za v hash stringu (tj. to za #) a pokud to bude jiné, tak se změnila adresa, ne?
Tomas Novella
Profil *
no prave tomuto nerozumiem... ako to kontrolovat? urcite nie nejakym timeoutom s velkom periodicitou - neviem totiz prist na ten sposob(prikaz v javasdcripte/observer, ktory zaregistruje zmenu) ;(
joe
Profil
Nechápu :)

Do javascriptové proměnné si uložíš hashString nebo jen hash, teď si přesně nevybavím, jak se to jmenuje. A třeba po kliknutí na odkaz, se provede jen javascript, tedy nepřesměruje se na stránku uvedenou v href. Po provedení nějaké další javascriptové akce si zkontroluješ, jestli ten hash string se změnil...

A k tomu facebooku. Je to výhodné v případě, že okolo té měnící oblasti se načítá dalších věcí, které jsou ale třeba pro zobrazení fotky k ničemu, takže by se provádět nemusely. To by se znovunačtením stránky ale provedly a zbytečně. Proto využili javascript - AJAX, aby tomu zabránili a nezatěžovali tolik server. Jen nevím jestli je vhodné uvádět přímo soubor photo.php, ale to je celkem jedno, v JS kódu by to muselo stejně být.
Chamurappi
Profil
Reaguji na Tomase Novellu:
ako to kontrolovat? urcite nie nejakym timeoutom s velkom periodicitou
Obvykle se to kontroluje právě tímto způsobem. Některé novější prohlížeče podporují událost onhashchange, ale na to zatím nejde spoléhat.
Tomas Novella
Profil *
ako vidim, bude to pouzitelne az na Firefox 3.6 a i MSIE 8. ALebo aj inde?

vdaka kazdopadne.
Aichi
Profil
Tomas Novella
krome toho ze jsi to napsal obracene, tak mas pravdu, tato udalost je v IE8 a FF3.6. Nicmene bezne se ta kontrola dela periodicky a provnava se s poslednim znamym stavem. Nicmene v IE6 je tuhle skopicinu navic delat nad iframem aby to spravne fungovalo s historii

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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