Diskuze: Cache a mezi pamět
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Teoreticky můžeš mít meta tagy zakazující cachování (pořád)
http://stackoverflow.com/…all-browsers
Anebo můžeš z JS zavolat
window.location.reload(true);
Správné vlákno, ale nevím, zda dobré řešení.
Řešením může být přidáni nějaké legrácky za otazník u css/js souboru. (Zdejší "validátor" ti vynadá, protože tvůrce neví, k čemu se to používá.)
Př:
<link rel="stylesheet" type="text/css" href="styly.css?2.1">
A část za otazníkem změň při každé změně souboru (můžeš tam psát cokoli, třeba číslo verze). Tím donutíš prohlížeč znovu soubor stáhnout (a předejdeš nepěknému zakazování cacheování).
Tuhle fintu můžeš používat u všech souborů, které si prohlížeč drží v paměti (styly, JavaScripty, obrázky...).
Dobře, moc ti děkuju.
Takže by bylo dobřé, napsat třídu, která bude kontrolovat md5 otisk u souboru a porovnávat jestli to je stejné. Na základě výsledků zachovat nebo vypsat novu verzi.
Ale proč? Když změníš obsah souboru, změníš adresu k němu v
šabloně. Změny přece neděláš každý den.
Ale samozřejmě ano, takhle automatická kontrola by ti taky fungovala. Jenže
bys musel někde načíst také starou verzi (abys to mohl porovnat), tak proč
si rovnou nezaznamenat změnu v souboru?
O cachování stejného souboru (souboru se stejnou adresou) se prohlížeč postará sám.
Jde jen o flexibilitu. Abych prostě mohl upravovat css a né pořád upravovat cestu. Ale i tak moc děkuji za TIP!
Byl by výsledek stejný, kdybych změnil název? např. style-v1.css ...
Kdy písmeno "v" značí verzi ..
Validně je to v pořádku, ale zda to výsledně udělá to co bych
potřeboval? Teoreticky opět cache nenajde cestu a musí si ji nově načíst a
vše k tomu. Ale i tak se mi asi více líbí tvůj způsob, který je mnohem
jednodušší a předpokládám že chyba v interpretaci nemá vliv na SEO ?
Ten zdejší analyzátor nemá s optimalizací pro vyhledávače nic společného.
Jasně, že ti to bude fungovat i se změnou souboru. Ale je to zbytečně komplikované. Musíš soubor fyzicky přejmenovat.
Tak si to hoď do proměnné, pakliže používáš např konstanty, do toho
ještě databázi a vše měníš v administraci, tak je to jednoduché.
Pakliže to nelze hodit do proměnně kvůli interpretaci, tak se omlouvám, ale
teoreticky v tom nevidím problém.
(Ale přijde mi to zbytečné zdržování načítání hlavičky i když je to
možná do 5ms[Jen hádám..])
Ale pakliže zásadně měním design, tak 1 údaj na víc je už prkotina. Problém to může být, při týmové práci a rozdělení přístupů. Pak to může řešit výše zmíněný přístup za pomocí proměnné.
Úplně souhlasím ! Děkuji za velice přínosnou informaci i za ostatní, kterým to otevřelo další možnosti.
Zobrazeno 12 zpráv z 12.