Heim > Web-Frontend > js-Tutorial > JQuery .getScript () Refactor zur Verhinderung von Caching

JQuery .getScript () Refactor zur Verhinderung von Caching

Jennifer Aniston
Freigeben: 2025-02-28 00:35:12
Original
763 Leute haben es durchsucht

JQuery .getScript () Refactor zur Verhinderung von Caching

Eine Funktion der Funktion jQuery .GetScript () ist, dass sie eine eindeutige ID (Zeitstempel oder dergleichen) für jeden Ajax -Skriptaufruf enthält . Dies stellte ein Problem für mich aus, als ich ein SetTimeout ausführte, um ein Skript zu erhalten, aber es lädte das gleiche Skript neu… nicht gut. Deshalb habe ich mich entschlossen, JQuery's .GetScrip () geringfügig umzuarbeiten, um das Caching zu verhindern, und lädt das Skript nur einmal.

Die neue GetScript -Funktion

<span>//getScript refactor to prevent caching
</span><span>(function () {
</span>    $<span>.getScript = function(url<span>, callback, cache</span>)
</span>    <span>{
</span>        $<span>.ajax({
</span>                <span>type: "GET",
</span>                <span>url: url,
</span>                <span>success: callback,
</span>                <span>dataType: "script",
</span>                <span>cache: cache
</span>        <span>});
</span>    <span>};
</span><span>})();</span>
Nach dem Login kopieren
Um zu beweisen, dass es funktioniert, habe ich in den HTTP -Anforderungen die Ladezeit getestet und die Kreise angesehen. Sie können sehen, dass das Skript jetzt die zwischengespeicherte Version in etwa 7 ms geladen wird. JQuery .getScript () Refactor zur Verhinderung von Caching Schauen wir uns die ursprüngliche Funktion .getScript () genau an und wie wir die neue Funktion mit dem zusätzlichen Parameter aufrufen können.
<span>//normal no cached version
</span>$<span>.getScript('js/script.js', function()
</span><span>{
</span>    <span>//do something after script loaded
</span><span>});</span>
Nach dem Login kopieren

So nennen Sie die neue .getscript () -Funktion

Geben Sie einfach am Ende True ein, wenn Sie möchten, dass es zwischengespeichert wird.
<span>//cache = true
</span>$<span>.getScript('js/script.js', function()
</span><span>{
</span>    <span>//do something after script loaded
</span><span>}, true);</span>
Nach dem Login kopieren
ODER
<span>// turn on cache
</span>$<span>.ajaxSetup({ cache: true });
</span>$<span>.getScript(url, callback);
</span><span>// turn cache back off
</span>$<span>.ajaxSetup({ cache: false });</span>
Nach dem Login kopieren

häufig gestellte Fragen (FAQs) zu JQuery GetScript Refactor und Verhinderung von Caching

Was ist jQuery erhältlich und wie funktioniert es? Es ist eine Kurzmethode für $ .ajax (). Die GetScript -Methode holt das Skript vom Server ab und führt es aus. Dies ist eine bequeme Möglichkeit, Skripte auf Bedarf zu laden, um die Leistung Ihrer Webseiten zu verbessern. Es gibt jedoch Zeiten, in denen Sie möglicherweise das Caching verhindern möchten, z. B. während der Entwicklung, wenn Sie häufig Änderungen an Ihren Skripten vornehmen. Um das Caching mit JQuery GetScript zu verhindern, können Sie die Methode $ .ajaxSetUp () verwenden, um Cache auf False vor dem Aufrufen von GETScript einzustellen. Es kann Ihnen auch helfen, Entlassungen oder Ineffizienzen in Ihrem Code zu identifizieren und zu beseitigen. Refactoring kann Ihren Code auch modularer machen und das Testen und Verwalten erleichtern. Dies kann den Code erleichtern, das zu verstehen und zu warten. Sie können auch das $ -Defered -Objekt verwenden, um Rückrufe zu verwalten, wodurch Ihr Code effizienter und einfacher zu debuggen kann. Andere AJAX -Methoden wie $ .ajax (), $ .get () und $ .post () können verwendet werden, um Daten von einem Server zu senden und abzurufen, aber sie führen das zurückgegebene Skript nicht automatisch wie GetScript aus.

Kann ich JQuery GetScript mit anderen JavaScript -Bibliotheken verwenden? Sie müssen jedoch sicherstellen, dass es keine Konflikte zwischen JQuery und den anderen Bibliotheken gibt. Sie können die Methode jQuery.noconflict () verwenden, um Konflikte zu vermeiden. Diese Methode wird aufgerufen, wenn die Anforderung fehlschlägt. Sie können es verwenden, um eine Fehlermeldung anzuzeigen oder eine andere Aktion auszuführen, wenn das Skript nicht geladen werden soll. Aufgrund der gleichorientierten Richtlinie muss das Skript jedoch so konzipiert werden, dass Cross-Domain-Anfragen unterstützt werden. Sie können auch den Cache -Parameter verwenden, um zu steuern, ob Skripte zwischengespeichert sind. Da GetScript jedoch asynchron ist, laden die Skripte möglicherweise nicht in der von Ihnen erwarteten Reihenfolge. Um sicherzustellen, dass Skripte in der richtigen Reihenfolge geladen werden, können Sie die Methode .done () verwenden, um Ihre GET -Skripts aufzuteilen.

Das obige ist der detaillierte Inhalt vonJQuery .getScript () Refactor zur Verhinderung von Caching. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage