Zadejte hledaný výraz...

Jak v PHP přinutit prohlížeč, aby načetl novou verzi CSS?

Roman Kocian
verified
rating uzivatele
30. 10. 2017 09:08:40
Ahoj, řešil již někdo jak provedené změny (nejčastěji CSS) zobrazit uživateli? Magento má na to např. nástroj pro práci s mezipamětí, po kliknutí na vyprazdnit mezipamět se návštěvníkovi, i přes to, že na stránce již byl, zobrazí provedené změny, tzn. nějakým způsobem se mu vymaže cache v prohlížeči.
Tzn. potřeboval bych poradit jak skrz .php vyprázdnit uživateli cache v prohlížeči, když budu potřebovat.
Děkuji, za pošťouchnutí.
30. 10. 2017 09:08:40
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309233
Marián
verified
rating uzivatele
(4 hodnocení)
30. 10. 2017 09:12:22
Napr. do nazvu CSS suboru pridas parameter "?v=CISLO_VERZIE" (style.css?v=1, style.css?v=2, ...) -- cim donutis prehliadac opatovne stiahnut dany subor.
30. 10. 2017 09:12:22
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309232
hm
verified
rating uzivatele
(20 hodnocení)
30. 10. 2017 09:14:03
Dělá se to tak že přidáš k souboru .css .js ci obrazkum datum jejich zmeny takto ?12354648
jako vysledek mas pak to ze se to dela naprosto automaticky a nemusis nikde nic mazat ani nastavovat
pridavani verze rucne mi prijde naprosto neelegantni (nechapu proc bych furt nekde neco mel prepisovat) :) ale dela to kde kdo
30. 10. 2017 09:14:03
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309231
foxo79
verified
rating uzivatele
(21 hodnocení)
30. 10. 2017 09:16:59
Ja pouzivam toto riesenie:
takze to ako hodnotu parametra vpise cas zmeny suboru. Takze ak sa subor nemenil pouzije cache verziu, ak sa zmenil, nacita novu verziu.
EDIT: Aleš ma predbehol :)
30. 10. 2017 09:16:59
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309230
Roman Kocian
verified
rating uzivatele
30. 10. 2017 09:19:08
Napsal Aleš Jiříček;1420851
Dělá se to tak že přidáš k souboru .css .js ci obrazkum datum jejich zmeny takto ?12354648
jako vysledek mas pak to ze se to dela naprosto automaticky a nemusis nikde nic mazat ani nastavovat
pridavani verze rucne mi prijde naprosto padle na hlavu (nechapu proc bych furt nekde neco mel prepisovat) :) ale dela to kde kdo
OK, to je skvělý postup, ovšem jak to mám udělat, pokud .css načítám přes soubor loader.css, kde mám @import url('styly.css');
Mám to tak proto, abych neměl hlavičku zaprasenou desítky řádky stylů.
Děkuji.
---------- Příspěvek doplněn 30.10.2017 v 09:23 ----------
Do loader.css to dát nemohu, jelikož to je .css a ne .php, a pokud to dám do hlavy k loader.css?v, tak nevím, jestli to bude mít vliv na importované styly v loaderu.
30. 10. 2017 09:19:08
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309229
smrtka
verified
rating uzivatele
(3 hodnocení)
30. 10. 2017 09:31:10
Tak prece jednoduse spoj ty udaje dohromady
30. 10. 2017 09:31:10
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309228
hm
verified
rating uzivatele
(20 hodnocení)
30. 10. 2017 09:36:12
opomenu ten fakt ze tohle co delas je jeste horsi nez mit v hlavicce desitky stylu, protoze tim pridavas uplne zbytecne dalsi pozadavek an server (proc nepouzijes nejakej kompilator ala webpack kterej ti to zkompiluje do jendoho souboru pro production verzi?) tak se hold musis spokojit s pridavanim verze, protoze pokud vim tak @import taky cachuje a tedy reseni smrtky nebude zrejme fungovat, ale resis neoc co bys resit nemel necim cim se to neresi...
Samozrejem jeste muzes ten soubor s importama generovat phpckem, proc ne (to ze ma priponu .php vubec nevadi) ale jak rikam...
30. 10. 2017 09:36:12
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309227
Roman Kocian
verified
rating uzivatele
30. 10. 2017 17:32:42
Všem děkuji za podněty. Nakonec použiji Alešovo řešení - ještě přemýšlím nad webpackem (zajímavá věc :)).
Mějte se a díky.
30. 10. 2017 17:32:42
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309226
Kovboj
verified
rating uzivatele
(13 hodnocení)
31. 10. 2017 10:33:07
Napsal Aleš Jiříček;1420851
Dělá se to tak že přidáš k souboru .css .js ci obrazkum datum jejich zmeny takto ?12354648
jako vysledek mas pak to ze se to dela naprosto automaticky a nemusis nikde nic mazat ani nastavovat
pridavani verze rucne mi prijde naprosto neelegantni (nechapu proc bych furt nekde neco mel prepisovat) :) ale dela to kde kdo
Přepsání verze stylu ručně uděláš jednou a za pár vteřin je to hotové, navíc to máš přesně pod kontrolou.
Načítat datum vytvoření souboru při každém vygenerování stránky bych použil maximálně u blogísku s pár desítkami zobrazení denně, jinak to úplně zbytečně zatěžuje server.
---------- Příspěvek doplněn 31.10.2017 v 10:36 ----------
Napsal Roo;1420995
Všem děkuji za podněty. Nakonec použiji Alešovo řešení - ještě přemýšlím nad webpackem (zajímavá věc :)).
Pokud jedeš na HTTPS se zapnutým HTTP/2, tak může být lepší mít víc menších souborů než jeden gigantický :-)
31. 10. 2017 10:33:07
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309225
hm
verified
rating uzivatele
(20 hodnocení)
31. 10. 2017 10:40:05
Kovboj: vzhledem k tomu ze filesystem se bezpecne cachuje, tak to server vicemene nijak nezatezuje... Rad ti poslu nejake testy co jsem delal a vysly zcela ve prospech tehle techniky :) Navic jsi zapomnel na to, ze lide zapominaji a prepsat verzi stylu proste zapomenes, jasne, jen jednou za cas, ale i to staci, aby se lidem zobrazovali nake blbosti nez si toho vsimnes :)
HTTP/2 jeste stale neni prilis standard :) nicmene v tomhle mas pravdu
31. 10. 2017 10:40:05
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309224
ne
verified
rating uzivatele
(22 hodnocení)
10. 11. 2017 18:03:09
Načítat datum vytvoření souboru při každém vygenerování stránky bych použil maximálně u blogísku s pár desítkami zobrazení denně, jinak to úplně zbytečně zatěžuje server.
zistit cas modifikacie (nie vytvorenia) suboru trva na mojom podpriemernom stroji 0,0000005 s (0,5s pri 1 milione opakovani s pouzitim cache) ... z vymazavanim cache trva milion volani filemtime 5 sekund - 0,000005 s .. :D
10. 11. 2017 18:03:09
https://webtrh.cz/diskuse/jak-v-php-prinutit-prohlizec-aby-nacetl-novou-verzi-css#reply1309223
Pro odpověď se přihlašte.
Přihlásit