Henry: Chrome: Hyphens und Cache Problematik

Hallo,

auch wenn ich selbst Chrome(weil Google) nicht mag, so muss ich doch leider Anwendungen für diesen, vor allem mobile Version, als Primärziel anvisieren.

Doch dabei stören mich einige Dinge. Angeblich soll Silbentrennung mittlerweile mit Chrome funktionieren. Aber irgendwie nicht. Nutze zwar:


-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto; 

aber keine Auswirkung, alle anderen Browser schon. Mache ich etwas falsch?

Dann die Cacheproblematik. Habe eben ewig lange Fehlersuche betrieben und dann erst gemerkt, dass es am Chrome-Cache liegt. Chrome/Google will offensichtlich den Usern eine Schnelligkeit simulieren, die aber auf Kosten der Aktualität geht. Zumindest, dauern kleine Veränderungen, besonders in Verweisdateien(CSS/JS), ewig bis gar nicht. Erst beim manuellen Löschen des Caches kommt die aktuelle Seite zum Vorschein.

Nur, wer weiß das von den normalen Usern und selsbt wenn es Einstellmöglichkeiten geben sollte, sind die nicht per Default da. Bedeutet das nun, ich muss hier tricksen, also zb. aktuelle Zeit als Parameter mit in den Verweisen oder im Html angeben, damit Chrome denkt, wäre was Neues, oder gibt's einen anderen Weg?

Gruss
Henry

akzeptierte Antworten

  1. Angeblich soll Silbentrennung mittlerweile mit Chrome funktionieren.

    Hast du die Fußnoten gelesen? Chrome scheint nur eingeschränkte Unterstützung für Silbentrennung zu haben.

    Bedeutet das nun, ich muss hier tricksen, also zb. aktuelle Zeit als Parameter mit in den Verweisen oder im Html angeben, damit Chrome denkt, wäre was Neues, oder gibt's einen anderen Weg?

    Ja, Zeitstempel an Links zu hängen ist schmutziger Tricke, der schon ewig lange kursiert, den aber eigentlich niemand mehr braucht. HTTP sieht diverse Kopfdaten vor, um Browsercaching zu steuern. Einfach mal nach Cache-Control oder ETag suchen.

    1. Hallo 1unitedpower,

      Ja, Zeitstempel an Links zu hängen ist schmutziger Tricke, der schon ewig lange kursiert, den aber eigentlich niemand mehr braucht. HTTP sieht diverse Kopfdaten vor, um Browsercaching zu steuern. Einfach mal nach Cache-Control oder ETag suchen.

      Du meinst damit die Header durch zb. PHP setzen? Was, wenn es nur HTML-Seiten sind?

      Alternativ:
      Macht die Steinzeitvariante <meta http-equiv="pragma" content="no-cache"> noch Sinn?

      Gruss
      Henry

    2. Hallo 1unitedpower,

      Ja, Zeitstempel an Links zu hängen ist schmutziger Tricke, der schon ewig lange kursiert, den aber eigentlich niemand mehr braucht. HTTP sieht diverse Kopfdaten vor, um Browsercaching zu steuern. Einfach mal nach Cache-Control oder ETag suchen.

      Das ist nur halb richtig. Man nutzt fingerprinting vor allem für Bilder, CSS und JS immer noch gerne, weil es einem erlaubt ein Expires-Datum weit in der Zukunft zu setzen. Das sorgt dafür, dass gar nicht erst ein Request für die Ressourcen abgesetzt wird, sondern direkt die Ressource aus dem Cache genommen wird. Um trotzdem Änderungen machen zu können, wird ein Fingerprint an die Datei angehängt; das kann der Timestamp der letzten Änderung sein, das kann auch ein Hash über den Inhalt der Datei sein. Beispiel hier aus dem Forum:

      ➜ ckruse@sunshine ~  % curl -I https://forum.selfhtml.org/assets/application-fe30121adc9984f9b5682755ee9b5aefdc4d2eedd2e1565a513d56306d3e71dc.css
      HTTP/1.1 200 OK
      Server: nginx/1.12.2
      Date: Tue, 03 Apr 2018 04:58:07 GMT
      Content-Type: text/css
      Content-Length: 137297
      Last-Modified: Wed, 24 Jan 2018 07:52:01 GMT
      Connection: keep-alive
      Vary: Accept-Encoding
      Expires: Thu, 31 Dec 2037 23:55:55 GMT
      Cache-Control: max-age=315360000
      Cache-Control: public
      Accept-Ranges: bytes
      
      ➜ ckruse@sunshine ~  %
      

      Wenn ich jetzt eine Änderung am CSS mache, wird die CSS-Datei im Deployment umbenannt und erhält einen neuen Hash-Teil. Die alte Datei bleibt erstmal liegen. Der Browser ruft die application.css gar nicht erst ab, sondern nimmt die aus dem Cache. Erst wenn ich tatsächlich etwas ändere, muss der Browser die neue Datei abrufen.

      LG,
      CK

  2. @@Henry

    Angeblich soll Silbentrennung mittlerweile mit Chrome funktionieren. Aber irgendwie nicht. Nutze zwar:

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto; 
    

    Der -moz--Präfix ist unsinnig; die Quelle hast du selbst verlinkt.

    aber keine Auswirkung, alle anderen Browser schon. Mache ich etwas falsch?

    Offenbar, denn Chrome macht Silbentrennung. Spekulieren wir mal:

    • Du hast Fußnote [1] auf besagter Can-I-use-Seite nicht gelesen.
    • Du hast dir’n falschen™ Rechner zugelegt.

    Allerdings macht auch Chrome was falsch, Safari ebenso: sie machen auch dann Silbentrennung, wenn sie es laut Spec gar nicht dürften: wenn keine Sprache angegeben ist.

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
    1. Hallo Gunnar,

      Der -moz--Präfix ist unsinnig; die Quelle hast du selbst verlinkt. ´

      Klar, antikes Relikt, aber schadet ja nicht.

      aber keine Auswirkung, alle anderen Browser schon. Mache ich etwas falsch?

      Offenbar, denn Chrome macht Silbentrennung. Spekulieren wir mal:

      Tja…

      • Du hast Fußnote [1] auf besagter Can-I-use-Seite nicht gelesen.
      • Du hast dir’n falschen™ Rechner zugelegt.

      was heißt Rechner, Android. Und das sollte laut Fußnote gehen.

      Gruss
      Henry

      1. Hej Henry,

        Der -moz--Präfix ist unsinnig; die Quelle hast du selbst verlinkt.

        Klar, antikes Relikt, aber schadet ja nicht.

        Überflüssiges schadet schon. Kostet Zeit und erschwert die Wartung. Auch wenn das in diesem Fall ein eher geringer Schaden sein dürfte, ist die Aussage „schadet ja nicht“ viel öfter falsch, als wir es uns in unserer Bequemlichkeit eingestehen (wollen)…

        Ich schließe uns alle in Marc ausdrücklich ein (diesmal ausnahmsweise ohne Ausnahme!).

        Marc

      2. @@Henry

        was heißt Rechner, Android. Und das sollte laut Fußnote gehen.

        Ich kann bestätigen, dass es nicht geht.

        LLAP 🖖

        --
        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann