wake-up-neo.com

Stylesheet wird nicht aktualisiert

Ich erstelle eine Website, aber als ich das Stylesheet auf meiner Website geändert und die Website aktualisiert habe, war keine der Änderungen vorhanden.

Ich habe versucht, mit dem Quelltext-Tool das stylesheet.css und es wird auch nicht aktualisiert. Aber wenn ich zur Wurzel meines Systems gehe, ist es.

Ich muss mindestens 20 Minuten warten, bevor ich das Update auf meiner Website sehe. Kann mir jemand sagen, warum ich Änderungen nicht sofort sehe? Stimmt etwas mit meinem Browser, Computer oder Server nicht?

Ich habe auch versucht, meine Cookies, meinen Cache und meinen Verlauf zu löschen, aber es hat immer noch nicht funktioniert.

39
Mihad Aiko

Wenn Ihre Site noch nicht online ist und Sie das Stylesheet nur in regelmäßigen Abständen aktualisieren möchten, verwenden Sie Folgendes:

Ctrl + F5

Dadurch wird Ihr Browser gezwungen, alle Ressourcen, die sich auf die Seite der Website beziehen, neu zu laden und zu aktualisieren.

Verwenden Sie diese Option, wenn Sie etwas in Ihrem Stylesheet ändern und die neuen Ergebnisse anzeigen möchten.

Unter Mac OS Chrome verwenden Sie: Befehlstaste + Umschalttaste + R.

100
Sean Vaughn

Höchstwahrscheinlich wird die Datei nur vom Server zwischengespeichert. Sie können entweder den Cache deaktivieren (aber nicht vergessen, ihn zu aktivieren, wenn die Site live geschaltet wird) oder href Ihres link -Tags ändern, damit der Server ihn nicht aus dem Cache lädt.

Wenn Ihre Seite dynamisch von einer Sprache wie PHP erstellt wird, können Sie am Ende des Wertes href eine Variable hinzufügen, z.

    <link rel="stylesheet" type="text/css" href="css/yourStyles.css?<?php echo time(); ?>" />

Dadurch wird der aktuelle Zeitstempel am Ende eines Dateipfads hinzugefügt, sodass er immer eindeutig ist und niemals aus dem Cache geladen wird.

Wenn Ihre Seite statisch ist, müssen Sie diese Variablen selbst verwalten. Verwenden Sie also Folgendes:

    <link rel="stylesheet" type="text/css" href="css/yourStyles.css?version=1" />

nachdem Sie einige Änderungen am Dateiinhalt vorgenommen haben, ändern Sie version=1 bis version=2 und so weiter.

Wenn Sie den Cache für das Zwischenspeichern von CSS-Dateien deaktivieren möchten, lesen Sie in der Dokumentation zum Servertyp nach (dies wird bei Apache, IIS, Nginx usw. anders durchgeführt) oder stellen Sie eine Frage unter https://serverfault.com) /

Angenommen, IIS - das Hinzufügen des Schlüssels unter mit den richtigen Einstellungen im Stammverzeichnis oder im entsprechenden Ordner reicht aus.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <caching enabled="false" enableKernelCache="false" /> <!-- This one -->
    </system.webServer>
</configuration>

Das heißt, manchmal muss man immer noch den Anwendungspool recyceln, um das CSS zu "stoßen". Deshalb: Das Deaktivieren von IIS Caching allein ist keine 100% ige garantierte Lösung.

Für den Browser: Es gibt einige Hinweise zu Feinsteuerung des lokalen Caches auf FF über SuperUser für die Interessierten.

39
Bartosz Górski

Ich hatte das gleiche Problem und es lag daran, dass der Browser das Stylesheet zwischengespeichert hat. Aktualisieren Sie den Cache:

    Cmd + Shift + r (on a mac) OR Ctrl + F5 (on windows)

Dies führt eine Hard-Aktualisierung durch und sollte das neue Stylesheet verwenden, das Sie auf den Server hochgeladen haben.

9
NCal

Am einfachsten können Sie feststellen, ob die Datei zwischengespeichert wird, indem Sie eine Abfragezeichenfolge an das Element <link /> Anhängen, damit der Browser sie erneut lädt.

Um dies zu tun, können Sie Ihren Stylesheet-Verweis auf so etwas wie ändern

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

Beachten Sie den Teil v=1. Sie können dies jedes Mal aktualisieren, wenn Sie eine neue Version erstellen, um festzustellen, ob sie tatsächlich zwischengespeichert wird.

8
Marko

Dies war möglicherweise nicht das Problem des OP, aber ich hatte das gleiche Problem und löste es, indem ich den Supercache auf meinem Panel löschte und dann deaktivierte. Vielleicht wissen andere Neulinge wie ich nicht, dass viele Hosting-Anbieter CSS und einige andere statische Dateien zwischenspeichern, und diese zwischengespeicherten alten Versionen von CSS-Dateien verbleiben für Stunden in der Cloud, nachdem Sie die Datei auf Ihrem Server bearbeitet haben. Wenn Ihre Site alte Versionen von CSS-Dateien bereitstellt, nachdem Sie sie bearbeitet haben, und Sie sicher sind, dass Sie den Browser-Cache geleert haben und nicht wissen, ob Ihr Host Inhalte zwischenspeichert, überprüfen Sie dies zuerst, bevor Sie weitere versuchen komplizierte Vorschläge.

2
TomW

Ich hatte ein ähnliches Problem, das nur durch die langsame Aktualisierung noch ärgerlicher wurde. Ich konnte meine Änderungen nicht in Kraft setzen, während ich an der Website arbeitete, um mein Leben zu retten (ich habe versucht, den Cache und die Cookies meines Browsers zu löschen), aber wenn ich später am Tag auf die Website zurückkam oder dort einen anderen Browser öffnete Sie sind.

Ich habe das Problem auch gelöst, indem ich die Supercacher-Software auf dem Bildschirm meines Hosts (Siteground) deaktiviert habe. Sie können auch die Schaltfläche "Leeren" für einzelne Verzeichnisse verwenden, um vor dem Deaktivieren zu testen, ob dies der Fall ist.

2
Jonathan

In meinem Fall stellte sich heraus, dass ich den Anwendungspool in IIS 7.5.7600 manuell aktualisieren musste, da ich keinen Cache-Busting-Zeitstempel an die CSS-URL anhängen konnte.

Jeder andere Weg wurde beschritten, bis hin zum Deaktivieren des Caches für die Site und auch für den lokalen Browser (wie GESAMT für beide deaktiviert), der immer noch nicht ausreichte. Auch "Neustart" der Website hat nichts gebracht.

Gleiche Position wie ich? [Site Name]> "Application Pool"> "Recycle" ist Ihr letzter Ausweg ...

1
twobob

![Cache leeren] Ctrl+Shift+Deletehttp://i.stack.imgur.com/QpqhJ.jpg Manchmal muss eine Aktualisierung durchgeführt werden, damit die Aktualisierungen wirksam werden. Es ist jedoch unwahrscheinlich, dass durchschnittliche Webbenutzer wissen, was eine harte Aktualisierung ist, und Sie können auch nicht erwarten, dass sie die Seite so lange aktualisieren, bis sich die Situation bessert. Hier ist eine Möglichkeit: <link rel="stylesheet" href="style.css?v=1.1">

1
Arul

Dies kann ein Ergebnis Ihrer Serverkonfiguration sein. Einige Hosting-Anbieter aktivieren "Lack" in Ihrer Domain. Dieser zwischengespeicherte HTTP-Reverse-Proxy wird verwendet, um die Zustellung zu beschleunigen . Man könnte versuchen, den Lack auf dem Panel zu deaktivieren (vorausgesetzt, man hat einen) und prüfen, ob dies der Fall ist.

Wenn es auf dem Server zwischengespeichert ist, können Sie nichts im Browser tun, um dies zu beheben. Sie müssen warten, bis der Server die Datei neu geladen hat. Sie können die Datei nicht einmal löschen und erneut hochladen. Dies kann sogar noch länger dauern, wenn Sie einen Caching-Server wie Cloudflare verwenden (er übersteht sogar einen Neustart des Servers). Sie können es umbenennen und eine Kopie laden.

0
user1718232