Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
sweetboi
Člen
Avatar
sweetboi:25.2.2014 8:04

Zdravim Vas, potreboval bych poradit .... uvedu jako priklad aukro.cz. Pokud filtrujete v levem sloupci, tak se meni jen div s produkty, tedy ajaxem. Prejdu na stranku 2 a pak nasledne BACKSPACE se vratim na stranku 1. Jak docilili toho, ze se reloadnul ajaxem obsah div s produkty ?

Predem dekuji za pomoc
S.

 
Odpovědět
25.2.2014 8:04
Avatar
pavel
Neregistrovaný
Avatar
pavel:25.2.2014 8:10

Můžeš použít hash...

 
Nahoru Odpovědět
25.2.2014 8:10
Avatar
sweetboi
Člen
Avatar
sweetboi:25.2.2014 8:50

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

 
Nahoru Odpovědět
25.2.2014 8:50
Avatar
sidlopa
Člen
Avatar
sidlopa:25.2.2014 9:28

Já jsem v práci a Aukro si tu bohužel neotevřu :D, 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á.

 
Nahoru Odpovědět
25.2.2014 9:28
Avatar
sweetboi
Člen
Avatar
sweetboi:25.2.2014 13:22

vyzkousim, zatim diky ...

 
Nahoru Odpovědět
25.2.2014 13:22
Avatar
1Pupik1989
Člen
Avatar
1Pupik1989:25.2.2014 13:33

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.

 
Nahoru Odpovědět
25.2.2014 13:33
Avatar
sidlopa
Člen
Avatar
sidlopa:25.2.2014 14:22

To neřeší problém procházení v historii (undo,redo). Navíc na takovou stránku nepůjde udělat přesný link, ajax by při prvním otevření stránky vždy načetl to samé.

 
Nahoru Odpovědět
25.2.2014 14:22
Avatar
user
Tvůrce
Avatar
Odpovídá na sweetboi
user:25.2.2014 14:33

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.

Více zde: https://developer.mozilla.org/…wser_history

 
Nahoru Odpovědět
25.2.2014 14:33
Avatar
1Pupik1989
Člen
Avatar
Odpovídá na sidlopa
1Pupik1989:25.2.2014 16:14

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í.

https://github.com/…e/history.js

 
Nahoru Odpovědět
25.2.2014 16:14
Avatar
sidlopa
Člen
Avatar
Odpovídá na 1Pupik1989
sidlopa:25.2.2014 20:48

A z jakého důvodu odchytávat tlačítka ? On chce pouze zpět v historii (podle titulku vlákna).

 
Nahoru Odpovědět
25.2.2014 20:48
Avatar
sweetboi
Člen
Avatar
sweetboi:26.2.2014 13:03

vsem diky za pomoc ....

vystacim si z $(window).on('hashchan­ge',function(){})

pri backspace se meni url vcetne hash, takze vyse zminenym vyvolam funkce, ktere vykonavaji ajax a relaodnou div

S.

 
Nahoru Odpovědět
26.2.2014 13:03
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.