Autor Zpráva
czloviczek
Profil
Ahoj,
řeším jeden problém s ukládáním do cache prohlížeče a klasické řešení v podobě meta tagů, reloadu stránky a PHP header příkazů mi nepomáhají.

Zkoušel jsem například tato řešení:
http://james.cridland.net/code/caching.html

nebo

   <meta http-equiv="cache-control" content="no-cache"> <!-- tells browser not to cache -->
<meta http-equiv="expires" content="Tue, 01 Jan 1995 12:12:12 GMT"><!--  says that the cache expires 'now' -->
<meta http-equiv="pragma" content="no-cache"> <!-- says not to use cached stuff, if there is any -->

Jde o to, že uložím nová data do databáze, ale po načtení stránky se
SELECTama se mi zobrazí nacacheovaná data prohlížeče a až po aktualizaci
stránky (např F5) se zobrazí ta uložená v DB.
Taps
Profil
czloviczek:
tato problematika se běžně řeší přes ajax. Ten obnoví pouze část stránky, ve které jsou načtena data z databáze.
Chamurappi
Profil
Reaguji na Tapse:
To je nesmysl, AJAX neovlivňuje keš. Tazatel se neptá, jak změnit data po načtení, ale jak zabránit tomu, aby se po načtení zobrazila data z keše.


Reaguji na czloviczka:
V uvedeném kódu problém nevidím. Asi by se hodila živá ukázka.
Mimochodem, když ti diskuse řekne, že máš místo fráze „problém s …“ popsat problematický děj, nemyslí tím, abys slova „problém s“ hloupě odmazal a při tom i rezignoval na skloňování :-)
czloviczek
Profil
Jde o tuto aplikaci: http://analyzator.web2b.cz/kuba , po přihlášení aktualizuji stav (resp. uložím nová data do DB) -> vrátím se na tuto stránku , ale na ní se nová data zobrazí až po aktualizaci (načtení stránky znovu) v prohlížeči - mám dojem, že se tam dokonce zobrazují stále ta stejná data.
_es
Profil
czloviczek:
Jde o tuto aplikaci: http://analyzator.web2b.cz/kuba
No a výstupom na tej adrese je čo? Výstup nejakého serverového skriptu alebo čo? Ak statická stránka, tak sa samozrejme „tam dokonce zobrazují stále ta stejná data“ Vlákna o hre Travian nie sú na tomto fóre veľmi obľúbené.
czloviczek
Profil
Jde o to, že rozparsuji kód a potřebná data uložím do databáze. Na této stránce se potom zobrazují tyto data vybraná z databáze. Bezprostředně takto provedené aktualizaci (parsing a uložení do db) a následném přechodu na tuto stránku se zobrazí nacacheovaná data -> až po manuálním refreshi se zobrazí ta správná - refresh pomocí kódu:
if(!isset($_GET['mc'])) {
    
echo '<meta http-equiv="refresh" content= "0;URL=?nick='.$_GET['nick'].'&mc=mobile" />';

}

nebo

<script type="text/javascript"> 
window.location.reload();
 </script>

nepomáhá..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: