Garth

Jak na přenačtení stylů/skriptů ?

Skrze nepřenačtení stylů/skriptů se může stát, že Váš uživatel vidí web "rozsypaný" a to nikdy není dobré.

Běžný problém webových úprav je ten, že uživatel dorazí na web ten prozkoumá a odejde. V této situaci si prohlížeč uloží do své vnitřní paměti styly,javascripty atd.. aby urychlil načtení webu při příští návštěvě daného uživatele. To je vše v pořádku, ale pokud programátor provede změnu v CSS, JS či HTML tak se může stát, že uživatel nevidí po návratu web korektně.
Proč? Právě skrze zmiňovanou paměť prohlížeče (= cache), kde jsou uloženy původní styly/skripty. Úprava v HTML se uživatelovi ukáže vždy aktuální, ale styly nemusí být vždy čerstvé a je tedy jasné, že pokud máme staré styly a nové HTML, tak máme problém.

Jak to řešit?
- Je možné na dotaz říci uživatelovi, aby použil tlačítko "F5" (přenačtení stránky), či ještě lépe "Ctrl+F5" (přenačtení stránky včetně promazání cache), ale to je většinou již pozdě.
- Další možnost je zautomatizovat přenačítání stylů/skriptů, ale tato cesta mi přijde dosti složitá a nikdy jsem ji neprobádal natolik, abych ji používal.
- Za mne je nejlepší cesta styly/skripty "versovat". Pojmem versovat je myšleno, že nebudeme psát:


ale budeme psát:


u příští úpravy upravíme "?v=1.0" například na "?v=1.1" atd..
Výhoda je, že soubory se fyzicky jmenují pořád stejně jen systém jejich ložení je jiný. A co na to prohlížeč? Dostane soubor na stažení s url, kterou nezná (i část za otazníkem je součást url) a tudíž daný soubor stáhne a použije.
Nevýhodou řešení je, že musíme po každé úpravě jít do "head" a tam měnit nějaké verze, ale určitě to stojí za to. Nespokojeného uživatele s "rozpadlým webem" budete vracet na web mnohem déle než budete přepisovat jedno číslo v jednom souboru..

<< zpět




Nejnovější články

Jak udělat stín bloku pouze na jedné straně?

CSS - Úvod do CSS

Jak detekovat klik na tlačítka myšy?

JavaScript - Úvod do JavaScriptu

Jak udělat odkaz na celý řádek tabulky?

JavaScript - Příklady v JavaScriptu

Jak zrušit tečky kolem odkazu?

CSS - Základy CSS

Jak fungují lomítka a tečky v url adrese?

(x) HTML - Úvod do HTML