Stejný obsah po refresh (adresa za #)

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

Ahoj,

zajímalo by mě, zda je nějakým jednoduchým způsobem možné implementovat následující.

Například kniha návštěv

Pokud bych kliknul na nějakou stránku, například 3, url by se změnila na …#paginator-page=3
A po stisknutí F5 by se opět načetly příspěvky ze strany 3.
Prosím o návod, jak na to v Nette.

díky

Aurielle
Člen | 1281
+
0
-

Nette pro tohle zatím podporu nemá, Ondřej Mirtes se to pokoušel prosadit, tak se ho můžeš zeptat, jestli nemá vlastní řešení ;-)

Ondřej Mirtes
Člen | 1536
+
0
-

Zatím to v Nette nejde. David na Poslední sobotě naznačoval, že by pro to mohla být podpora v nové verzi, kterou představí na Webexpu.

redhead
Člen | 1313
+
0
-

Mám v tomhle úspěch s jQuery BBQ, vlastně se po refreshi zobrazí původní stránka, ale vyšle se i ajax. dotaz a pak se to přepíše.

Lopata
Člen | 139
+
0
-

Proč to nejde? Nevím, jestli se bavíme úplně o tomtéž, ale myslím, že něco takového mám již docela dlouho implementováno.

redhead
Člen | 1313
+
0
-

Myslí se tím, že to není řešeno přímo v Nette. Pokud si někdo udělá vlastní řešení jako ty (nebo já), tak to samozřejmě není problém (viz můj předchozí post).

joe
Člen | 313
+
0
-

Nejde mi ani tak o řešení přímo v Nette, jako o to, jak to udělat – jakkoli, ale s Nette.

Jediný co mě napadá je, udělat si šablonu s tím HTML kódem, který chci potom dostat a nahradit jím původní.
Takže nějak jednoduše si vytvořit actionAjaxData(…) a tady vrátit tu šablonu.

Nebo to děláte jinak? Můžete prosím poslat nějaké své řešení? Díky

srigi
Nette Blogger | 558
+
0
-

joe napsal(a):

Ehm, vsak to urob primitivne cez jQuery – v document.ready(function(){}); skontroluj URL na pritomnost hashu, ak tam daco je, preparsuj to, vysli AJAX call a prekresli snippet. Neni to nic zlozite.

srigi
Nette Blogger | 558
+
0
-

Bude to kciet ale vylepsit – ak budes cakat na document.ready(function(){}) dojde k prebliknutiu obsahov – najsor page1 a potom pride AJAXOm page3 – obsak preblikne.

Budes to musiet poladit. JS kod na kontrolu na hash daj na uplny vrch HTML kodu (do <head>). Ak sa zisti pritomnost, zakri/prestyluj obsahovy div, tak aby tam bolo AJAX kolecko. Zvysok je uz rovnaky ako v mojom predoslom prispevku, s tym rozdielom, ze po prichode AJAX obsahu (page3), odokryjes obsahovy DIV.

To sposobi, ze po zadani URL blablabla.com/shoutbox#page=3 sa stranka vyrenderuje s AJAX koleckom a potom sa rovno zobrazi obsah page3. Pri vypnutom JS sa ihned zobrazi page1.