Ich verwende lazyload.js, um mehrere Skripts zu laden. Jetzt dachte ich nur an eine Site-weite Include, die lazyload.js lädt alle Skripte auf meiner Website verwendet. Dann könnte ich den Browser entscheiden lassen, ob eines dieser Skripte bereits im Cache ist oder nicht (und falls nötig).Lädt ein Browser noch ein Skript, wenn es sich bereits im Browser-Cache befindet?
Das erspart mir zu testen in js, ob etwas bereits geladen ist (und ich bin bereit, den Overhead von ein paar zusätzlichen Anfragen zu akzeptieren). Würde es so funktionieren oder übersehe ich etwas?
Sind Sie sicher, dass die meisten Browser den Cache überprüfen, bevor Sie ein Skript laden? Weil ich auch eine Antwort von jemandem erhalten habe, der sagt, dass immer alles geladen wird, unabhängig vom Cache, und ich weiß nicht wirklich, was ich jetzt glauben soll. –
@ Samuel: Ich habe mir die Quelle von lazyload.js angesehen. Alles, was es wirklich tut, ist ein neues DOM-Element (Skript-Tag, überprüfen Zeile 230 auf Github), und fügt es in den DOM-Baum. Das resultierende Verhalten ist das gleiche wie zu dem Zeitpunkt, als das Tag da war: Der Browser wird prüfen, ob sich das Skript im Cache für diese Domäne befindet, wenn dies der Fall ist, wird die Datei nicht erneut angefordert, sondern die zwischengespeicherte Version geladen. Wenn nicht, wird die Datei angefordert. Ich habe mir die anderen Antworten kurz angesehen, aber ich weiß nicht genau, auf welche Sie sich beziehen, wenn Sie sagen, dass Sie eine Antwort hatten, die besagt, dass die Anfrage immer ausgeführt wird. –
Ich meinte Dmitrys Antwort (ganz unten). Aber deine Antwort erklärt genau, worüber ich mich nicht sicher war. Vielen Dank! –