Cache na straně klienta – JavaScript
- joe
- Člen | 313
Ahoj,
je v Nette možné nějakým způsobem cachovat i JavaScript? Myslím tím
výsledky ajaxových požadavků nebo po něm chci až moc? :-)
Dám příklad, na stránce budu mít například nějaký seznam uživatelů a
když na nějakého kliknu, objeví se mi nějaké popup okno s podobnými
uživateli toho zvoleného. To by znamenalo, že při každém takovém
požadavku by se data načítaly znovu nebo se přece jen do cache ukládají?
Případně jak takové chování zařídit.
- Honza Marek
- Člen | 1664
Řekl bych, že se to cachuje, ale nejsem si úplně jist. Kdyžtak si stačí zapnout správné hlavičky pomocí třídy HttpResponse a pohlídat v javascriptovém frameworku, jestli není zapnuté anticachování. jQuery ve výchozím nastavení cache nebrání.
- redhead
- Člen | 1313
Tohle ovšem Nette neřeší, Nette je PHP framework. Takže cachovat JS nemá v popisu práce.
Tohle ovšem můžeš implementovat sám. Mít nějakou hashmapu (nebo pole), do které ukládat výsledek Ajaxu (nejlépe v podobě JSON) pod nějakým klíčem – ID uživatele nebo jméno_příjmení, co chceš.. Je to na tobě.
Soubor s JS se (podle nastavení prohlížeče) cachuje.
- redhead
- Člen | 1313
Možná jsem to i špatně pochopil.
Jestli chceš cachovat na straně serveru, tak Nette tohle automaticky neřeší protože nemůže vědět co má cachovat a co ne. Ale zařídit si to můžeš (od příspěvku výše se to liší tím, že vždycky budeš muset ten ajaxový požadavek provést, viz: Nette\Caching)
Editoval redhead (29. 8. 2009 11:00)