it-swarm.com.de

Wie aktualisiere ich jQuery auf die neueste Version, die ich herunterladen kann?

Ich verwende Drupal 7, das standardmäßig jQuery 1.4 verwendet? Wie kann ich es auf die neueste Version (derzeit 1.7) aktualisieren?

33
Karmacoma

Eine Möglichkeit besteht darin, die Entwicklungsversion von jQuery Update zu installieren, wodurch Sie die Option haben, jQuery 1.7 zu verwenden (indem Sie die Einstellungsseite unter http: //mysite.com/admin/config/development/jquery_update ).

Beachten Sie jedoch, dass derzeit bekannt ist, dass JavaScript an anderer Stelle auf der Website beschädigt wird (z. B. funktioniert das Widget-Dropdown-Menü auf einer Seite zum Verwalten von Feldern nicht mehr). Wenn Sie bereit sind, dies und andere kleine Probleme zu beheben, ist dies wahrscheinlich die beste Wahl. Sie sollten auch beachten, dass die Verwendung der Dev-Version eines Moduls nicht ohne Risiken ist, da die Wahrscheinlichkeit von Fehlern viel höher ist als bei Verwendung einer bestimmten Version.

Wenn Sie dies manuell tun möchten, müssen Sie eine Menge Javascript-Kerncode neu schreiben, damit Ihre Site wie erwartet funktioniert. jQuery hat zwischen Version 1.4/1.5 und 1.7 sehr viel geändert, so dass ein Großteil des Kerns Drupal Javascript-Code funktioniert einfach nicht damit.

Wenn Sie nur eine Version von jQuery 1.7 einfügen möchten, können Sie wahrscheinlich hook_js_alter() implementieren, die jQuery-Kerndatei deaktivieren und an ihrer Stelle Ihre eigene hinzufügen:

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']);
}

Sobald Sie dies getan haben, öffnen Sie Developer Tools/Firebug und Sie sehen alle Änderungen, die Sie vornehmen müssen, damit der Rest der Site JS funktioniert :)

[~ # ~] update [~ # ~]

Mit der neuesten Version des jQuery-Updates ( 7.x-2. zum Zeitpunkt des Schreibens) können Sie jQuery jetzt auf Version 1.8 aktualisieren. Sehr cool.

Das Modul jQuery Multi ist eine weitere Option, dank Goron, der in den Kommentaren darauf hingewiesen hat. Wie er auch bemerkt, hat dieses Modul eine stabile Version und wird kein vorhandenes Javascript beschädigen.

44
Clive

Sie sollten auch in Betracht ziehen, das Multi-Modul jquery zu verwenden, mit dem Sie mehr als eine Version von jquery verwenden können. Tolles Modul, ich benutze es für Druapl 7 und 6 in all meinen Projekten.

4
rreiss

Inspiriert von der Dokumentation hook_js_alter funktioniert das Folgende. Sie können es in die template.php Ihres Themas einfügen. Dies erfordert, dass Sie ein anderes Admin-Thema verwenden, um Konflikte mit Drupal Core) zu vermeiden, und es wird davon ausgegangen, dass sich jquery-1.8.3.min.js in einem Ordner namens 'js' innerhalb des Themas befindet (an die Bedürfnisse anpassen).

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

Ich bin mir nicht sicher, was Ihr Zweck hier ist, aber als ich eine bestimmte Version für die Entwicklung benutzerdefinierter Module benötigte, konnte ich dies mit jQuery.noConflict tun.

Es ist etwas zusätzliche Arbeit im Vergleich zum Modul jquery_update (was dem OP nichts auszumachen scheint), aber es bedeutet, dass Sie sich keine Sorgen machen müssen, ob Sie Ihr gesamtes drupal Installation.

0
doub1ejack