NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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.

Aktivity
Avatar
katrincsak
Člen
Avatar
katrincsak:26.11.2015 15:57

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:26.11.2015 17:28

stejná otázka

 
Nahoru Odpovědět
26.11.2015 17:28
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na katrincsak
Petr Čech:26.11.2015 18:50

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
the cake is a lie
Avatar
Tonda Kozák
Člen
Avatar
Odpovídá na Petr Čech
Tonda Kozák:26.11.2015 22:47

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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.11.2015 22:47
Avatar
Richard
Člen
Avatar
Odpovídá na Tonda Kozák
Richard:26.11.2015 23:28

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

Nahoru Odpovědět
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:27.11.2015 9:21

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:27.11.2015 10:29

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:27.11.2015 10:33

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:27.11.2015 11:26

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:27.11.2015 11:32

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
27.11.2015 11:32
Avatar
katrincsak
Člen
Avatar
Odpovídá na NouF
katrincsak:27.11.2015 11:37

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:27.11.2015 11:38

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