existuje už v nette podpora pro hash v url?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mcmatak
Člen | 504
+
0
-

určitě potřebuji stav aplikace uchovávat v url, ale jak to řeší nette ve spojení s ajaxem?

Filip Procházka
Moderator | 4668
+
0
-

Ne a nejspíše ani nikdy nebude. Navigace pomocí hashe se ukázala jako lichá. Největším známým „propagátorem“ co mě takhle z hlavy napadne je Twitter a ten se na to po roce vykašlal a přechází/přešel na historyapi.

Používej history api, když nebude přístupné prostě přesměruj. vojtech-dobes/nette.ajax.js

mcmatak
Člen | 504
+
0
-

www.czc.cz to používá třeba na filtry, tam to rozhodně není liché, historyapi zkusím přečíst jestli je k tomu nějaká dokumentace, ale to neřeší to, že ti někdo pošle odkaz na třeba stav gridu což je konkrétně co potřebuju

Filip Procházka
Moderator | 4668
+
0
-

Tak nepoužívej ajax když prohlížeč nepodporuje history api.

Majkl578
Moderator | 1364
+
0
-

mcmatak napsal(a):

ale to neřeší to, že ti někdo pošle odkaz na třeba stav gridu což je konkrétně co potřebuju

Určitě? Pokud si takový stav budeš uchovávat v URL, tak to právě History API řeší. Jako bonus taková URL nebude parazitická – bude totožná jak pro verzi s AJAXem (a potažmo JS obecně), tak pro verzi bez něj.

Co se týče podpory napříč prohlížeči, vpodstatě jej nepodporuje pouze IE<=9, viz http://caniuse.com/#…. Pokud by ti to jo vadilo, určitě by asi nebyl problém dopsat si rozšíření pro nette.ajax.js – fallback z History API na stav pomocí hashe.

enumag
Člen | 2118
+
0
-

Kdysi dávno jsem to použil na jednom projektu (ještě v době Nette 0.9) a přineslo to víc problémů než užitku. Tehdy samozřejmě ještě možnost history API neexistovala.

mcmatak
Člen | 504
+
0
-

a existuje k historyapi nejaka dokumentace? nebo se musim prokousat kodem abych pochopil co to dělá?

Majkl578
Moderator | 1364
+
0
-

Google dneska nefunguje? A kliknout na „Resources“ na mnou odkázané stránce taky?

Např.:

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Z vlastní zkušenosti mohu jedině doporučit AJAX, který závisí na URL, pro prohlížeče bez History API vypínat. URL je pro seamless uživatelskou zkušenost důležitější než Ajax, mnozí ani neví, co je to „přenačtení“ stránky. Hash-based navigace je archaismus.

Taco
Člen | 50
+
0
-

Ono nemusí jít nutně o manipulaci s ajaxem pomocí hashe. Co třeba, když chci odkázat na konkrétní odstavec na stránce (k tomu ostatně hash původně sloužil)?

Nejtypičtější příklad: přidávám komentář k článku, a po odeslání chci, aby se mu zobrazila stránka sescrollovaná na jeho příspěvku.

Michalek
Člen | 211
+
+1
-

AŽ na to že to s tím moc nesouvisí, tak $this->redirect('this#comment-' . $kid);