Css wurde nicht aktualisiert?


23.06.2022, 04:30

Habe chrome benutzt, müsste ja sowieso irgendwas mit dem Browser zu tun haben. Weniger mit css usw.

4 Antworten

cache löschen ist meistens die lösung. grad wenn man nicht viel am css macht dann bekommen des browser oft nicht mit und laden die neue datei nicht. wenn du irgendwann mal webseiten programmierst werden des ggf. auch leute haben die deine seite besuchen. im schlimmsten fall hast du den html code geändert (was gezogen wird), aber die css datei nicht - dann ist bei ihnen des layout im eimer.

ich machs deshalb mittlerweile so, dass ich meine css-dateien versioniere und grade bei großen (layout-) änderungen hochzähle.

<link rel="stylesheet" href="style.css?v=1.1" type="text/css">

Es wurde ja schon beschrieben, dass Dokumente zur Webseite (ausser CSS Dateien auch JS Dateien, Bilder, Videos, Audios, ...) im Cache vorgehalten werden, um eine Neuladung einzusparen.

Das erzwundene Neuladen mit [Strg][F5] ist mit Tastaturen, aber nicht bei tastaturlosen Geräten möglich.

Du kannst das Änderungsdatum (TagUhrMinuteSekunde) der CSS-Datei per PHP dem Dateinamen anhängen, um immer die aktuellste zu laden:

<link rel=stylesheet href="../css/basis.css?<?= date("dHis", filemtime("../css/basis.css")) ?>">

Sieht etwas kryptisch aus, macht aber das, was es soll. Der generierte Code sieht so aus, denn die CSS Datei wurde am 05. um 11:26:26 zuletzt geändert:

<link rel=stylesheet href="../css/basis.css?05112626">
Woher ich das weiß:Berufserfahrung

Browser speichern Dateien (außer HTML) im Cache. HTML zwar auch, das wird aber immer aktualisiert. Besonders Chrome ist beim Speichern extrem schnell, wodurch schneller keine Aktualisierung passiert. Die CSS ist im Cache und sofern die URL gleich ist, aktualisiert der auch nicht die Datei, sondern lädt die alte. Beim Entfernen der Datei hat man die URL geändert, deshalb findet dort eine Aktualisierung statt. Die CSS und Bilder und co. zur Aktualisierung erzwingen, geht mit PHP ganz easy. Setze hinter den URLs eine PHP Variable: "url/Ordner/datei.css?".$cacheID und dann setzt du in der variable eine beliebige Zahl. Immer bei einer Aktualisierung, änderst du die Zahl und schon wird der Cache aktualisiert. Auch kannst du machen, dass der mit PHP während der Entwicklung automatisch die Zahl ändert, sodass der nie den Cache benutzt, doch solltest das wieder limitieren auf nur änderung bei Update, wenn du es released

Am cache vermutlich. Mach immer die Entwicklertools neben der Website auf und stell da ein das kein Cache angelegt wird solange das Entwicklertool eingeschalten ist.

oder refresh die Seite mit Strg + f5, das löscht den Cache vor dem refresh

indexhtml 
Fragesteller
 23.06.2022, 05:00

Achso, ist mir aber bis jetzt das erste mal passiert. Hab mich gewundert warum Dieses mal.

0
ichweisnetwas  23.06.2022, 05:02
@indexhtml

Irgendwann läuft der voll. Passierte jedem am Anfang das er dann rum eiert obwohl alles stimmt. Der nimmt halt nix neues mehr an sozusagen wenn’s voll ist.

ich empfehle die erste Variante die ich schrieb und auch ansonsten immer mit Strg + f5 refreshen, dann biste immer Safe

1