Neueste jQuery-Version auf Googles CDN

103

Ich habe im offiziellen Dokument des Google CDN gelesen, dass dies das srczu jQuery ist:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

Es ist jedoch ärgerlich, meine jQuery- srcReferenz bei jedem Versionsupdate ändern zu müssen .

Ich habe festgestellt, dass 1Google die neueste Version von jQuery zurückgibt , wenn ich die Version auf setze .

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */

Ist das das Richtige? Gibt es eine offizielle URL, die auf die neueste Version von jQuery verweist, die auf dem Google CDN gehostet wird?

Martin Borthiry
quelle
Überprüfen Sie, ob dieser Beitrag älter ist. Also, das andere ist das Duplikat
Martin Borthiry
1
Dies ist ein Duplikat von stackoverflow.com/questions/441412/… (gefragt am 14.01.2009 )
Nick Pierpoint
1
@ MartinBorthiry Das ist nicht unbedingt wichtig
Blazemonger

Antworten:

182

UPDATE 2014.07.03: Ab jetzt jquery-latest.jswird nicht mehr aktualisiert. Aus dem jQuery-Blog :

Wir wissen, dass http://code.jquery.com/jquery-latest.js missbraucht wird, da die CDN-Statistiken zeigen, dass es sich um die beliebteste Datei handelt. Dies wäre nicht der Fall, wenn nur Entwickler eine lokale Kopie erstellen würden.

Wir haben beschlossen, die Aktualisierung dieser Datei sowie der minimierten Kopie einzustellen, um beide Dateien für immer auf Version 1.11.1 zu halten.

Das Google CDN-Team hat sich uns angeschlossen, um versehentliche Webbrüche zu verhindern, und aktualisiert die Datei unter http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js nicht mehr . Diese Datei bleibt auch in Version 1.11.1 gesperrt.

Die folgende, jetzt strittige Antwort wird hier aus historischen Gründen aufbewahrt.


Tu das nicht. Im Ernst, nicht.

Das Verknüpfen mit Hauptversionen von jQuery funktioniert, aber es ist eine schlechte Idee - mit jedem Dezimalupdate werden ganz neue Funktionen hinzugefügt und veraltet. Wenn Sie jQuery automatisch aktualisieren, ohne Ihren Code VOLLSTÄNDIG zu testen , besteht die Gefahr einer unerwarteten Überraschung, wenn sich die API für eine kritische Methode geändert hat.

Folgendes sollten Sie tun: Schreiben Sie Ihren Code mit der neuesten Version von jQuery. Testen Sie es, debuggen Sie es, veröffentlichen Sie es, wenn es für die Produktion bereit ist.

Wenn dann eine neue Version von jQuery herauskommt, fragen Sie sich: Benötige ich diese neue Version in meinem Code? Gibt es zum Beispiel eine kritische Browserkompatibilität, die vorher nicht existierte, oder beschleunigt sie meinen Code in den meisten Browsern?

Wenn die Antwort "Nein" lautet, aktualisieren Sie Ihren Code nicht auf die neueste jQuery-Version. Dadurch werden möglicherweise sogar NEUE Fehler zu Ihrem Code hinzugefügt, die zuvor nicht vorhanden waren . Kein verantwortlicher Entwickler würde automatisch neuen Code von einer anderen Site einfügen, ohne ihn gründlich zu testen.

Es gibt einfach keinen guten Grund, IMMER die neueste Version von jQuery zu verwenden. Die alten Versionen sind weiterhin auf den CDNs verfügbar. Wenn sie für Ihre Zwecke geeignet sind, warum sollten Sie sie dann ersetzen?


Ein sekundäres, aber möglicherweise wichtigeres Problem ist das Caching. Viele Leute verlinken auf einem CDN auf jQuery, weil viele andere Websites dies tun, und Ihre Benutzer haben gute Chancen, dass diese Version bereits zwischengespeichert wird.

Das Problem ist, dass das Caching nur funktioniert, wenn Sie eine vollständige Versionsnummer angeben . Wenn Sie eine Teilversionsnummer angeben, findet kein Caching in ferner Zukunft statt. Andernfalls würden einige Benutzer unterschiedliche Nebenversionen von jQuery von derselben URL erhalten. (Angenommen, der Link zu 1.7 zeigt an einem Tag auf 1.7.1 und am nächsten Tag auf 1.7.2. Wie stellt der Browser sicher, dass er heute die neueste Version erhält? Antwort: Kein Caching.)

In der Tat ist hier eine Aufschlüsselung mehrerer Optionen und ihrer Ablaufeinstellungen ...

http://code.jquery.com/jquery-latest.min.js (kein Cache)

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js (1 Stunde)

http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js (1 Stunde)

http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1 Jahr)

Wenn Sie auf diese Weise eine Verknüpfung zu jQuery herstellen, eliminieren Sie tatsächlich einen der Hauptgründe für die Verwendung eines CDN.


http://code.jquery.com/jquery-latest.min.js gibt Ihnen möglicherweise auch nicht immer die erwartete Version. Zum jetzigen Zeitpunkt wird ein Link zur neuesten Version von jQuery 1.x erstellt, obwohl auch jQuery 2.x veröffentlicht wurde. Dies liegt daran, dass jQuery 1.x mit älteren Browsern einschließlich IE 6/7/8 kompatibel ist und jQuery 2.x nicht . Wenn Sie die neueste Version von jQuery 2.x möchten, müssen Sie dies (vorerst) explizit angeben.

Die beiden Versionen haben dieselbe API, sodass für kompatible Browser kein Wahrnehmungsunterschied besteht. JQuery 1.x ist jedoch ein größerer Download als 2.x.

Blazemonger
quelle
Vielen Dank für Ihren Standpunkt, aber in meinem Fall ist es besser, die neueste Version zu verwenden. Ich stimme Ihrer Meinung jedoch teilweise zu, aber einige neue Versionen beheben auch alte Fehler. Außerdem ist es wahrscheinlicher, dass sich die neueste Version im Cache befindet. Dies ist einer der Vorteile von cdn.
Martin Borthiry
2
Ein gutes Beispiel für dieses Ereignis ist die Entwicklung in einer Abfrage <1.4 und ein Upgrade nach 1.4. Der Zugriff auf Eigenschaften und der Umgang von Ajax-Anforderungen mit JSON-Daten im Rückruf wurden geändert.
scrappedcola
Nur zur Klarstellung. Ich habe nach einer einzelnen Seite gefragt, die einen trivialen Teil von jquery verwendet. Ich verstehe Ihren guten Punkt, aber ich möchte nur wissen, ob Google eine URL anbietet, um die neueste Version zu erhalten.
Martin Borthiry
4
@scrappedcola - jQuery 1.9 führte auch viele wichtige Änderungen ein. Ich habe im Laufe der Jahre viele Fehler aufgrund von Abwärtskompatibilitätsproblemen in jQuery festgestellt. Und ich stimme dem Rat von Blazemonger absolut zu. Unter keinen Umständen sollten Sie einfach auf die "neueste jQuery" -URL verweisen. Sie wären dem jQuery-Team völlig ausgeliefert, und eine neue jQuery-Version könnte Ihre Website leicht beschädigen. Es könnte nicht nur passieren, sondern es wird wahrscheinlich irgendwann passieren.
Steve Wortham
Schön zu erfahren, dass das Caching auf der Detailstufe der Version basiert!
Tadas V.
8

Ich weiß nicht, ob / wo es veröffentlicht wurde, aber Sie können die neueste Version erhalten, indem Sie die Minor- und Build-Nummern weglassen.

Neueste 1.8.x:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>

Neueste 1.x:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Beachten Sie jedoch, dass diese Links ein viel kürzeres Cache-Timeout aufweisen als die Vollversionsnummer, sodass Ihre Benutzer sie möglicherweise häufiger herunterladen, als Sie möchten. Weitere Informationen finden Sie unter Die entscheidenden .0 in Google CDN-Verweisen auf jQuery 1.x.0 .

jrummell
quelle
1
Sie können alternativ die neueste Version von code.jquery.com/jquery.min.js erhalten. Sie wird normalerweise einige Tage vor den anderen CDs aktualisiert
Kevin B
Während Sie auf diese Weise die neueste Version 1.8.x aufrufen können, können Sie nicht die neueste Version 1.9 oder eine kleinere Versionsnummer mit ähnlichen Links aufrufen. Darüber hinaus verweist der Link "neueste Version 1.x" derzeit auf 1.11.1, wenn die neueste Version tatsächlich 1.11.3 ist.
Blazemonger
@Blazemonger Das stimmt. Dies änderte sich, nachdem ich darauf geantwortet hatte. Sie haben eine gute Erklärung in Ihrem Update!
Jrummell
8

Wenn Sie ein anderes jQuery-CDN als die von Google gehostete jQuery-Bibliothek verwenden möchten, können Sie dies in Betracht ziehen und sicherstellen, dass die neueste Version von jQuery verwendet wird:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Abdul Munim
quelle
Dies zog 1.9.1 statt 2.0
Phillip Senn
3
v2.x ist nicht kompatibel mit v1.x. Jede Site, die auf diese URL verweist, wird die Sites tatsächlich vermasseln, wenn sie auf v2 aktualisiert wurde
Abdul Munim
Dieser Link
ruft auch
2

So verwenden Sie die neueste von Google gehostete jquery-Version

Menschen:

  1. https://developers.google.com/speed/libraries/#jquery

  2. Holen Sie sich das Snippet:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

  1. Fügen Sie es in Ihren Code ein.
  2. Stellen Sie sicher, dass es funktioniert.

Bots:

  1. Warten Sie, bis ein Mensch es tut.
Bob Stein
quelle