Funktion früher laden

  • Guten Abend,


    ich möchte gerne eine neue CSS auf Klick laden können, die wird auch gespeichert aber beim Reload seh ich noch die alte und dann erst die neue, das ist mit JS gelöst im head, gibts einen Hook der den JS Code noch früher ausführen kann und damit das ganze überschreibt, sodass ich nicht erst die alte CSS sehe und sofort die neue geladen wird?


    Danke euch!

  • ???

    So etwas nennt man Browsercaching.

    Du musst deiner style.css einfach eine Versionsnummer verpassen. Heißt der Browser schaut in seinen Cache und Sieht es gibt eine neue Version und lädt dann nach.


    PHP
    function autoversion($url) {
      $path = pathinfo($url);
      $ver = '.'.filemtime($_SERVER['DOCUMENT_ROOT'].$url).'.';
      return $path['dirname'].'/'.str_replace('.', $ver, $path['basename']);
    }function



    href="<?php autoversion('/path/to/theme.css'); ?>" rel="stylesheet">



    Gruß Christian