jQuery est une bibliothèque JavaScript très populaire qui est largement utilisée dans le développement Web, et la mise en cache est un concept très important dans le développement Web. jQuery fournit également quelques méthodes pour vous aider à gérer la mise en cache. Cet article explique comment utiliser jQuery pour gérer la mise en cache.
1. Cache Ajax dans jQuery
Lorsque vous utilisez jQuery pour effectuer une requête Ajax, vous constaterez que le résultat de la requête sera mis en cache, c'est-à-dire que lorsque la requête sera à nouveau effectuée, le résultat dans le cache sera utilisé directement sans faire une autre demande. Ce mécanisme de mise en cache peut améliorer les performances d'Ajax, mais parfois il peut aussi causer des problèmes. Par exemple, lorsque les données changent et que le cache est toujours valide, nous devons alors utiliser certaines méthodes fournies par jQuery pour contrôler le comportement du cache.
jQuery fournit une option de configuration globale du cache, qui peut être définie pour contrôler s'il faut activer la mise en cache lors des requêtes Ajax. Cette option est par défaut true, ce qui active la mise en cache. Vous pouvez utiliser l'instruction suivante pour désactiver le cache global :
$.ajaxSetup({cache: false});
Bien sûr, vous pouvez également définir le cache dans une seule requête Ajax :
$.ajax({ url: "test.html", cache: false, success: function(result){ $("#div").html(result); } });
Si nous voulons vider manuellement le cache après en demandant le résultat, vous pouvez utiliser l'instruction suivante :
$.ajax({ url: "test.html", success: function(result){ $("#div").html(result); $.ajaxSetup({cache: false}); } });
Cette instruction désactivera le cache global une fois les résultats de la requête chargés.
2. Mise en cache DOM dans jQuery
En plus de la mise en cache Ajax, jQuery fournit également un mécanisme de mise en cache DOM, qui met en cache les éléments DOM pour une utilisation ultérieure. La mise en cache DOM peut améliorer les performances de JavaScript car les opérations DOM sont relativement lentes. Voyons comment effectuer la mise en cache DOM dans jQuery.
La mise en cache des objets DOM est simple, il suffit de stocker l'objet DOM dans une variable JavaScript.
Par exemple, nous devons fréquemment opérer sur un élément DOM :
$("#myDiv").addClass("selected"); $("#myDiv").fadeOut(); $("#myDiv").html("Hello World");
Un tel code provoquera plusieurs requêtes DOM et affectera les performances. Nous pouvons mettre en cache les objets DOM, le code est le suivant :
var $myDiv = $("#myDiv"); $myDiv.addClass("selected"); $myDiv.fadeOut(); $myDiv.html("Hello World");
Utiliser la variable $myDiv au lieu de $("#myDiv") peut réduire considérablement les requêtes DOM et améliorer les performances.
Si nous devons opérer sur plusieurs éléments DOM, nous devons mettre en cache un objet jQuery. Un objet jQuery est une collection contenant plusieurs éléments DOM et vous pouvez utiliser les méthodes qu'il fournit pour opérer sur les éléments de la collection.
Par exemple, nous devons faire fonctionner plusieurs éléments li en même temps :
$("li").addClass("selected"); $("li").fadeOut(); $("li").html("Hello World");
De même, un tel code provoquera plusieurs requêtes DOM. Nous pouvons stocker des objets jQuery dans une variable.
var $lis = $("li"); $lis.addClass("selected"); $lis.fadeOut(); $lis.html("Hello World");
L'utilisation de la variable $lis au lieu de $("li") peut réduire considérablement les requêtes DOM et améliorer les performances.
Résumé
Cet article présente comment jQuery gère la mise en cache. Dans les requêtes Ajax, nous pouvons utiliser les options de configuration globale du cache ou spécifier les options de cache dans les requêtes individuelles pour contrôler le comportement du cache. Dans les opérations DOM, nous pouvons mettre en cache des objets DOM ou jQuery pour améliorer les performances JavaScript. Bien entendu, la mise en cache n’est pas une panacée et vous devez décider si vous souhaitez l’utiliser en fonction de la situation réelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!