Maison  >  Article  >  interface Web  >  Explication détaillée des problèmes de chargement de JavaScript et de mise en cache avec la méthode jQuery getScript()

Explication détaillée des problèmes de chargement de JavaScript et de mise en cache avec la méthode jQuery getScript()

伊谢尔伦
伊谢尔伦original
2017-07-21 15:51:212996parcourir

Le chargement dynamique de Javascript est une technologie très puissante et utile. Si vous utilisez jQuery, il dispose d'une méthode intégrée qui peut être utilisée pour charger un seul fichier js. Vous pouvez utiliser cette méthode lorsque vous devez retarder le chargement de certains plug-ins js ou d'autres types de fichiers. Voici comment l'utiliser !

1. La méthode jQuery getScript() charge JavaScript

jQuery a une méthode intégrée pour charger un seul fichier js lorsque le chargement est terminé ; , vous pouvez rappeler Effectuer les opérations ultérieures dans la fonction. La manière la plus simple d'utiliser jQuery.getScript est la suivante :

jQuery.getScript("/path/to/myscript.js", function(data, status, jqxhr) {
 /*   做一些加载完成后需要执行的事情 */ 
});

Cette méthode getScript renvoie un jqxhr, vous pouvez l'utiliser comme ceci :

jQuery.getScript("/path/to/myscript.js")
 .done(function() {
  /* 耶,没有问题,这里可以干点什么 */
 })
 .fail(function() {
  /* 靠,马上执行挽救操作 */
});

La manière la plus courante d'utiliser jQuery.getScript utiliser jQuery .getScript consiste à retarder le chargement d'un plug-in js et à l'exécuter une fois le chargement terminé :

jQuery.getScript("jquery.cookie.js")
 .done(function() {
  jQuery.cookie("cookie_name", "value", { expires: 7 });
});

2. Problème de mise en cache

Il y a un problème très important, lorsque vous utilisez jQuery.getScript, vous devez utiliser une chaîne d'horodatage suivant l'adresse js qui doit être chargée pour éviter qu'elle ne soit mise en cache. Cependant, si vous souhaitez que ce script soit mis en cache, vous devez définir la variable de cache globale, comme ceci :

jQuery.ajaxSetup({
  cache: true
});
jQuery.ajax({
      url: "jquery.cookie.js",
      dataType: "script",
      cache: true
}).done(function() {
  jQuery.cookie("cookie_name", "value", { expires: 7 });
});

Assurez-vous de faire attention aux problèmes de mise en cache lors du chargement des scripts !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn