Diskuze: Cache a mezi pamět

PHP PHP Cache a mezi pamět American English version English version

Avatar
katrincsak
Člen
Avatar
katrincsak:

Zdravím,

možná by to mohlo patřit do sekce css, ale každý kdo dělá PHP určitě již řešil podobný problém.

  • Jak řešíte změnu grafiky/designu celého webu? Tak aby uživatel po změně stránku neměl znetvořenou a nemusel třeba provést F5/CTRL + F5 .. Je něco, co konkrétně vynutí uživateli smazat mezi pamět?
 
Odpovědět 26.11.2015 15:57
Avatar
NouF
Člen
Avatar
NouF:

stejná otázka

 
Nahoru Odpovědět 26.11.2015 17:28
Avatar
Odpovídá na katrincsak
Petr Čech (czubehead):

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);
Nahoru Odpovědět 26.11.2015 18:50
Why so serious? -Joker
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na Petr Čech (czubehead)
Tonda Kozák:

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...).

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +5 26.11.2015 22:47
Avatar
Richard
Člen
Avatar
Odpovídá na Tonda Kozák
Richard:

Lepší řešení není, David by se mohl učit.

Nahoru Odpovědět  +1 26.11.2015 23:28
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
NouF
Člen
Avatar
Odpovídá na Tonda Kozák
NouF:

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.

 
Nahoru Odpovědět 27.11.2015 9:21
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na NouF
Tonda Kozák:

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.

 
Nahoru Odpovědět 27.11.2015 10:29
Avatar
NouF
Člen
Avatar
Odpovídá na Tonda Kozák
NouF:

Jde jen o flexibilitu. Abych prostě mohl upravovat css a né pořád upravovat cestu. Ale i tak moc děkuji za TIP!

 
Nahoru Odpovědět 27.11.2015 10:33
Avatar
katrincsak
Člen
Avatar
Odpovídá na Tonda Kozák
katrincsak:

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 ?

 
Nahoru Odpovědět 27.11.2015 11:26
Avatar
Tonda Kozák
Člen
Avatar
Tonda Kozák:

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.

 
Nahoru Odpovědět  +1 27.11.2015 11:32
Avatar
katrincsak
Člen
Avatar
Odpovídá na NouF
katrincsak:

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é.

 
Nahoru Odpovědět 27.11.2015 11:37
Avatar
katrincsak
Člen
Avatar
Odpovídá na Tonda Kozák
katrincsak:

Úplně souhlasím ! Děkuji za velice přínosnou informaci i za ostatní, kterým to otevřelo další možnosti.

 
Nahoru Odpovědět 27.11.2015 11:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.