Soubor JavaScript se neaktualizuje bez ohledu na to, co dělám

Mám externí soubor JavaScript a ať už ve FireFoxu nebo Chrome, bez ohledu na to, zda jsou všechna data prohlížení vymazána, NEBUDE se aktualizovat bez ohledu na to, co. Věřím něčemu stalo, když jsem vytvořil zálohu svého souboru, kterou jsem jednoduše přidal „_thedate“ na konec názvu. Poté Uložit jako zpět k původnímu názvu.

Nyní se zdá, že se nemohu zbavit starého JS, ať se děje cokoliv, pokud nezměním název souboru, což opravdu nechci, nebo nepřidám skript na stránku PHP, která ji přeplňuje.

Zná někdo řešení?

Odpověď

Jste si jisti, že odkazujete na stejný soubor a poté upravujete stejný soubor?

V některých prohlížečích můžete použít CTRL F5 vynutit aktualizaci (na PC). Na Macu je to Cmd Shift R

Firebug má také síťovou kartu s „Disable Browser Cache“.

Ale chtěl bych vás varovat:i když můžete tvrdě aktualizovat, jak víte, že vaši zákazníci dostávají nejnovější verzi? Takže to musíte zkontrolovat, spíše než se ujistit, že vy a váš programový manažer můžete udělat důkladnou aktualizaci a jít domů a vzít si výplatu příští měsíc. Pokud chcete dělat práci, která mění svět k lepšímu, nebo chcete zanechat svět o něco lepší, než jste jej našli, musíte více prozkoumat, abyste se ujistili, že funguje i pro vaše zákazníky (nebo jinak, někdy může zákazník zavolejte na technickou podporu a technická podpora si může přečíst skript „vymažte soubory cookie a bude to fungovat“, což se mi někdy stává). Některé metody v dolní části tohoto příspěvku mohou zajistit, aby zákazníci získali nejnovější verzi.

Aktualizace 2020:

Pokud používáte Chrome a jsou otevřené DevTools, můžete kliknout a podržet ikonu Refresh před adresním řádkem a vyskočí okno, ve kterém si můžete vybrat „Hard Reload“ nebo dokonce „Empty Cache and Hard Reload“. “:

Aktualizace 2017:

Pokud používáte ladicí program Google Chrome, je to stejné, můžete přejít do sekce Síť a zkontrolovat, zda je v Nastavení panelu ladicího programu zaškrtnuto políčko „Zakázat mezipaměť (když jsou otevřené nástroje DevTools)“.

Také při propojování souboru JavaScript použijte

<script src="my-js-file.js?v=1"></script>

nebo v=2 , a tak dále, když určitě chcete soubor obnovit. Nebo můžete přejít do konzole a provést Date.now() a získat časové razítko, například 1491313943549 a použijte

<script src="my-js-file.js?t=1491313943549"></script>

Některé stavební nástroje to udělají automaticky za vás, nebo je lze k tomu nakonfigurovat, takže to bude něco jako:

<script src="main.742a4952.js"></script>

což v podstatě vyřadí mezipaměť.

Poznámka že když použijete v=2 nebo t=1491313943549 nebo main.742a4952.js , máte navíc tu výhodu, že pro vaše uživatele určitě dostanou i novější verzi.