Diskuze: ajax a backspace (history.back)
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
asi mi nerozumis ... schvalne bez na http://aukro.cz/mobily-a-gps?… a v levem sloupci ve filtru vyber "Kup ted" a pak dej back space a ja potrebuji zjistit, jak vyvolal opetovne ajax a obnovil obsah polozek
Já jsem v práci a Aukro si tu bohužel neotevřu , ale asi vím jak to myslíš,
potřebuješ aby ti fungovala historie... tlačítko "zpět", nebo "backspace"
chceš-li a to bez odeslání požadavku na server (bez reloadu stránky).
Javascript běží na klientovi, takže si prohlížeč historii změn sám od sebe samozřejmě nezaznamená, ale zaznamená změnu hashe, kterou můžeš dynamicky měnit bez nového požadavku na server.
To znamená že uděláš funkci která bude tuto změnu hashe kontrolovat a nějakou další funkci která bude podle něho do stránky načítat chtěný obsah (samozřejmě přes Ajax).
Jak jsem řekl, změny hashe se v historii zaznamenávají takže když pak dáš tlačítko zpět hash se změní, funkce tuto změnu opět zachytí a Ajax ti načte stránku která je na něj vázaná.
Já bych si deklaroval pole a při každém AJAXovém požadavku do něj ukládal url. Potom akorát stačí při stisku backspace z toho pole pomocí metody "pop" (která vrátí a smaže poslední záznam) dostal URL na předchozí stránku.
S příchodem HTML5 lze v javascriptu přistupovat k historii pomocí window.history.pushState(), window.history.replaceState(), window.history.back(), window.history.forward()
Pro zkombinování s ajaxem tato metoda realizace přímo vyzývá. Bude ale fungovat jen u browserů s podporou HTML 5.
Tak url by ani nebyl problém, to se dá změnit přes location.replace, ale odchytávat tlačitka asi půjde blbě, respektive o ničem nevím.
user: Metody "back", "forward" a "go" by měli jít i v IE 6+ tuším.
Nicméně pro vyřešení kompatibility sáhl po hotovém řešení.
A z jakého důvodu odchytávat tlačítka ? On chce pouze zpět v historii (podle titulku vlákna).
Zobrazeno 11 zpráv z 11.