michaah: browsercache is fooling me

Was muß ich tun damit mich das browsercache nicht narrt?

Ich habe jetzt cirka drei stunden vergeblich versucht eine css änderung hin zu bekommen (den namen einer id nebst abgewandelten eigenschaften zu editieren), nur um dann festzustellen, dass all meine versuche deshalb vergeblich waren, weil das browsercache die darstellung der änderungen verhindert hat. Und ich habe mich dadurch auch noch verunsichern lassen. Was ich überhaupt nicht durchblicke ist, warum manche änderungen angezeigt werden, andere nicht?

Muß ich vor jedem neuen seitenaufruf erst in die eingeweide des browsers (chromium, vivaldi) hinabsteigen um den cache manuel zu löschen oder gibt es elegantere lösungen? Läßt sich ein jedmaliges neunladen erzwingen?

  1. Da ich den obigen beitrag nicht mehr editieren kann (muß das wirklich sein?):

    Ich liefere die webseiten mit einem lokal installierten apachen aus. Könnte ich den irgendwie so konfigurieren, dass mein(e) browser von dort alle dateien immer neu anfordert/anfordern?

    1. Hallo michaah_wiedensonst,

      die Editiersperre greift nach 15 Minuten oder wenn jemand geantwortet hat. Ob ersteres nötig ist, weiß ich nicht; es soll wohl die Wahrscheinlichkeit reduzieren dass Du deinen Beitrag editierst während ihn jemand liest und ggf. drüber nachdenkt. Letzteres ist definitiv nötig.

      Deinen lokalen Apache kannst Du in der .htaccess oder in der zentralen Config bestimmt so konfigurieren, dass er einen cache-control Header mitliefert. Ich habe keinen Apache, denke aber, dass diese Seite dein Freund ist.

      Rolf

      --
      sumpsi - posui - clusi
  2. @@michaah

    Was muß ich tun damit mich das browsercache nicht narrt?
    […]
    Läßt sich ein jedmaliges neunladen erzwingen?

    Sowohl in Firefox als auch in Chrome gibt es in den Einstellungen des Entwicklerwerkzeugs die Option „HTTP-Cache bei offenem Werkzeugkasten deaktivieren“.

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  3. Hallo michaah,

    es gibt verschiedene Vorgehensweisen.

    1. Gunnars Hinweis mit den Entwicklerwerkzeugen
    2. Browser unterscheiden zwischen „Refresh“ und „Forced Refresh“. Guckst Du zum Beispiel hier
    3. Du sorgst im Server dafür, dass deine CSS keine allzugroße Lebensdauer bekommen (z.B. 24h), so dass sie täglich neu geladen werden.
    4. Als Entwickler kannst Du deinen CSS-Referenzen einen Parameter anhängen. Also sowas wie <link rel="stylesheet" href="/css/dings.css?version=17">. Änderst Du das CSS, änderst Du die Versionsangabe und alle User deiner Seite bekommen automatisch die neue Version

    Nr. 1 ist nur für dich als Entwickler interessant
    Nr. 2 verschiebt das Problem in die Verantwortung jedes einzelnen Users
    Nr. 3 erzeugt eine gewisse Automatik, produziert bei einem über längere Zeit unveränderten CSS aber unnötigen Traffic
    Nr. 4 lädt Dir die Arbeit auf, erlaubt aber punktgenaues Neuladen geänderter Ressourcen. Lässt sich durch serverseitige Funktionen automatisieren (entweder bei jedem Seitenabruf, was unnötig Last erzeugt, oder durch ein Script, dass Änderungen von der Entwicklungs- in die Test- oder Produktionsumgebung schiebt und dabei solche Referenzen automatisch pflegt; was es da an fertigen Tools gibt, weiß ich nicht).

    Es gibt bestimmt noch mehr Möglichkeiten...

    Rolf

    --
    sumpsi - posui - clusi