web-dev-qa-db-fra.com

Comment mettre à jour jQuery vers la dernière version que je peux télécharger?

J'utilise Drupal 7, qui utilise jQuery 1.4 par défaut? Comment puis-je le mettre à jour vers la dernière version (actuellement 1.7)?

33
Karmacoma

Une façon consiste à installer la version de développement de jQuery Update , qui vous donne la possibilité d'utiliser jQuery 1.7 (en visitant le page des paramètres sur http://mysite.com/admin/config/development/jquery_update ).

Attention cependant, il est actuellement connu de briser JavaScript ailleurs dans le site (par exemple, la liste déroulante des widgets sur une page Gérer les champs ne fonctionnera plus). Si vous êtes prêt à corriger cela, et tout autre petit désagrément, c'est probablement votre meilleur pari. Vous devez également noter que l'utilisation de la version de développement d'un module n'est pas sans risques, car les chances qu'il comporte des bogues sont beaucoup plus élevées que l'utilisation d'une version spécifique.

Si vous voulez le faire manuellement, vous aurez beaucoup de code javascript de base à réécrire pour faire fonctionner votre site comme prévu; jQuery a changé énormément entre la version 1.4/1.5 et 1.7, donc une grande partie du noyau Drupal code javascript ne fonctionnera tout simplement pas avec.

Si vous souhaitez simplement déposer une version de jQuery 1.7, vous pouvez probablement implémenter hook_js_alter() , désinstaller le fichier jQuery principal et ajouter le vôtre à sa place:

function MYMODULE_js_alter(&$js) {
  $path = drupal_get_path('module', 'MYMODULE') . '/path/to/jquery.1.7.js';

  // Copy the current jQuery file settings and change
  $js[$path] = $js['misc/jquery.js'];

  // Update necessary settings
  $js[$path]['version'] = 1.7;
  $js[$path]['data'] = $path;

  // Finally remove the original jQuery
  unset($js['misc/jquery.js']);
}

Une fois que vous avez fait cela, ouvrez Developer Tools/Firebug et vous verrez toutes les modifications que vous devrez faire pour que le reste du site JS fonctionne :)

[~ # ~] mise à jour [~ # ~]

La dernière version de la mise à jour de jQuery ( 7.x-2. au moment de la rédaction) vous permettra désormais de mettre à jour jQuery vers la v1.8. Très cool.

Le module jQuery Multi est une autre option, merci à goron de l'avoir signalé dans les commentaires. Comme il le note également, ce module a une version stable et ne cassera aucun javascript existant.

44
Clive

Vous devriez également envisager d'utiliser le module multi jquery qui vous permet d'utiliser plus d'une version de jquery. Excellent module, je l'utilise pour Druapl 7 et 6 sur tous mes projets.

4
rreiss

Inspiré par la documentation hook_js_alter , les travaux suivants. Vous pouvez le placer dans le template.php de votre thème. Cela nécessite que vous utilisiez un thème d'administration différent pour éviter les conflits avec Drupal core, et cela suppose que jquery-1.8.3.min.js se trouve dans un dossier appelé "js" dans le thème (ajuster en fonction).

function [theme_machine_name]_js_alter(&$javascript) {

  $javascript['misc/jquery.js']['data'] = drupal_get_path('theme', '[theme_machine_name]') .
    '/js/jquery-1.8.3.min.js';

  $javascript['misc/jquery.js']['version'] = '1.8.3';

}
</code>
2
Shaun Dychko

Je ne sais pas quel est votre but ici, mais quand j'avais besoin d'une version spécifique pour le développement de modules personnalisés, j'ai pu le faire en utilisant jQuery.noConflict .

C'est un travail supplémentaire par rapport au module jquery_update (que l'OP ne semble pas déranger), mais cela signifie que vous n'avez pas à vous soucier de savoir si vous allez gâcher votre ensemble drupal.

0
doub1ejack