Ankündigung

Einklappen
Keine Ankündigung bisher.

Javascript neu laden erzwingen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript neu laden erzwingen

    Guten Abend,

    ich bin aktuell dabei einige simple Javascript Funktionen in ein Projekt einzubinden.
    Die Datei binde ich hier einmal ein:
    Code:
     
     <script type="text/javascript" src="/js/ownBasicFunctions.js"></script>
    Das Caching meines Browsers verhindert aber nun leider "angenehmes" testen. Damit das neue Skript geladen wird muss ich es immer umbenennen, was sehr umständlich ist und sicher nicht der beste Weg.
    Könnte mir hier jemand auf die Sprünge helfen und verraten wir man lokal eingebundene Javascript-Dateien am besten testet?

    Liebe Grüße

  • #2
    Das ist doch einfach nur eine Browser-Einstellung. Einige Browser deaktivieren automatisch den Cache, sobald die Debug-Console offen ist, andere muss man explizit dazu zwingen.

    Als Alternative kannst du am Entwicklungsserver auch einfach für alle JS-Dateien einen HTTP-Header schicken, der den Browser dazu veranlasst sie nicht zu cachen.

    Kommentar


    • #3
      Wenn in der Antwort zu der Datei ownBasicFunctions.js ein Header "Cache-Control: max-age=0" dabei ist, wird die Datei vom Browser nicht gecached.

      Kommentar


      • #4
        Zitat von hellbringer Beitrag anzeigen
        Das ist doch einfach nur eine Browser-Einstellung. Einige Browser deaktivieren automatisch den Cache, sobald die Debug-Console offen ist, andere muss man explizit dazu zwingen.

        Als Alternative kannst du am Entwicklungsserver auch einfach für alle JS-Dateien einen HTTP-Header schicken, der den Browser dazu veranlasst sie nicht zu cachen.
        Da es leider schwerer ist als man denken würde einem Google Chrome beizubringen das er nicht cachen soll gehe ich nun aktuell erstmal den unprofessionellen Weg und schreibe mein Javascript inline und erst nach einem erfolgreichen Ergebnis wird das Skript ausgelagert.
        Die Http-Header Methode ist sicher fortgeschrittener und schöner, aber für meine Anwendungszwecke aktuell reicht mein Weg aus. Da ich aber nun doch dabei bin mich etwas mehr mit Javascript zu beschäftigen werde ich da sicher zeitnah nochmal drauf zurück kommen.

        Danke euch beiden für die Antworten.

        Kommentar


        • #5
          PHP zur Verfügung? Dann kannst du es im jQuery Stil machen:

          PHP-Code:
          <script type="text/javascript" src="/js/ownBasicFunctions.js?ts=<?= time(); ?>"></script>
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            ChromOxid Wie wäre es gleich mit nem entsprechenden Framework, dass das managen von js, css und html übernimmt? Kuck mal hier: https://bower.io/
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Zitat von hausl Beitrag anzeigen
              PHP zur Verfügung? Dann kannst du es im jQuery Stil machen:

              PHP-Code:
              <script type="text/javascript" src="/js/ownBasicFunctions.js?ts=<?= time(); ?>"></script>
              Das hatte ich versucht, aber da ich ein Framework mit Routing Komponente verwende scheitert das ganze dann.
              Bzw. das war meine vermutete Ursache für das "nicht funktionieren" dieser Variante - gut möglich, dass die Ursache eigentlich eine andere war.

              ChromOxid Wie wäre es gleich mit nem entsprechenden Framework, dass das managen von js, css und html übernimmt? Kuck mal hier: https://bower.io/
              Danke für den Link, ich werde es mir mal anschauen, schätze aber das geht aktuell etwas über meine Verwendungszwecke hinaus. In Php bereue ich es nicht erstmal eine relativ lange Zeit die Finger von Frameworks gelassen zu haben und nach der Devise "Erst wenn ich verstehe, was passiert, kann ich mir die Arbeit von einem Framework abnehmen lassen." gearbeitet zu haben.

              Kommentar


              • #8
                unter Chrome:
                F12 drücken
                F1 drücken
                setze Haken bei Disable cache (while DevTools is open)

                Kommentar

                Lädt...
                X