| Autor | Zpráva | ||
|---|---|---|---|
| Tomas Novella Profil * |
#1 · Zasláno: 19. 8. 2009, 21:01:00
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 * |
#2 · Zasláno: 19. 8. 2009, 21:12:23
|
||
| Tomas Novella Profil * |
#3 · Zasláno: 19. 8. 2009, 21:13:59
ajax poznam, ale to neodpoveda na otazku :-) cim, akym nativnym JS prikazom identifikumem zmenu url?
|
||
| joe Profil |
#4 · Zasláno: 19. 8. 2009, 21:17:38
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 * |
#5 · Zasláno: 19. 8. 2009, 21:47:05
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 |
#6 · Zasláno: 19. 8. 2009, 22:24:20
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 |
#7 · Zasláno: 19. 8. 2009, 22:30:21
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 * |
#8 · Zasláno: 20. 8. 2009, 00:11:18
ako vidim, bude to pouzitelne az na Firefox 3.6 a i MSIE 8. ALebo aj inde?
vdaka kazdopadne. |
||
| Aichi Profil |
#9 · Zasláno: 20. 8. 2009, 17:01:04
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 |
||
|
Časová prodleva: 16 let
|
|||
0