Ultima versione di jQuery sul CDN di Google


103

Ho letto nel documento ufficiale del CDN di Google che questo è il srcto jQuery:

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

Tuttavia, è fastidioso dover modificare il mio srcriferimento jQuery ad ogni aggiornamento della versione.

Ho scoperto che se imposto la versione su, 1Google restituisce l'ultima versione di jQuery.

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

È questa la cosa giusta da fare? Esiste un URL ufficiale per fare riferimento all'ultima versione di jQuery ospitata sulla CDN di Google?


controlla che questo post sia più vecchio. Quindi, l'altro è il duplicato
Martin Borthiry,

1
Questo è un duplicato di stackoverflow.com/questions/441412/… (chiesto il 14 gennaio 2009)
Nick Pierpoint

Risposte:


182

AGGIORNAMENTO 7/3/2014: A partire da ora, jquery-latest.jsnon viene più aggiornato. Dal blog di jQuery :

Sappiamo che http://code.jquery.com/jquery-latest.js è abusato a causa delle statistiche CDN che mostrano che è il file più popolare. Non sarebbe il caso se fosse utilizzato dagli sviluppatori solo per creare una copia locale.

Abbiamo deciso di interrompere l'aggiornamento di questo file, così come la copia minimizzata, mantenendo entrambi i file alla versione 1.11.1 per sempre.

Il team di Google CDN si è unito a noi in questo sforzo per prevenire la rottura involontaria del Web e non aggiorna più il file all'indirizzo http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js . Anche quel file rimarrà bloccato alla versione 1.11.1.

La seguente risposta, ora discutibile, è qui conservata per ragioni storiche.


Non farlo. Seriamente, non farlo.

Il collegamento alle versioni principali di jQuery funziona, ma è una cattiva idea: tutte le nuove funzionalità vengono aggiunte e deprecate con ogni aggiornamento decimale. Se aggiorni jQuery automaticamente senza testare COMPLETAMENTE il tuo codice , rischi una sorpresa inaspettata se l'API per qualche metodo critico è cambiata.

Ecco cosa dovresti fare: scrivi il tuo codice usando l'ultima versione di jQuery. Provalo, esegui il debug, pubblicalo quando è pronto per la produzione.

Quindi, quando viene rilasciata una nuova versione di jQuery, chiediti: ho bisogno di questa nuova versione nel mio codice? Ad esempio, esiste una compatibilità critica del browser che non esisteva prima o accelererà il mio codice nella maggior parte dei browser?

Se la risposta è "no", non preoccuparti di aggiornare il tuo codice all'ultima versione di jQuery. In questo modo potresti persino aggiungere NUOVI errori al tuo codice che non esistevano prima . Nessuno sviluppatore responsabile includerebbe automaticamente nuovo codice da un altro sito senza testarlo accuratamente.

Semplicemente non c'è una buona ragione per usare SEMPRE l'ultima versione di jQuery. Le vecchie versioni sono ancora disponibili sui CDN e, se funzionano per i tuoi scopi, perché preoccuparti di sostituirle?


Un problema secondario, ma forse più importante, è la memorizzazione nella cache. Molte persone si collegano a jQuery su un CDN perché molti altri siti lo fanno, e gli utenti hanno buone possibilità di avere quella versione già memorizzata nella cache.

Il problema è che la memorizzazione nella cache funziona solo se fornisci un numero di versione completo . Se fornisci un numero di versione parziale, la memorizzazione nella cache del futuro non avviene, perché se lo facesse, alcuni utenti otterrebbero versioni secondarie diverse di jQuery dallo stesso URL. (Supponiamo che il collegamento a 1.7 punti a 1.7.1 un giorno e 1.7.2 il giorno successivo. In che modo il browser si assicurerà di ricevere l'ultima versione oggi? Risposta: nessuna memorizzazione nella cache.)

In effetti, ecco una ripartizione di diverse opzioni e le loro impostazioni di scadenza ...

http://code.jquery.com/jquery-latest.min.js (senza cache)

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

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

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

Quindi, collegandoti a jQuery in questo modo, stai effettivamente eliminando uno dei motivi principali per utilizzare un CDN in primo luogo.


Anche http://code.jquery.com/jquery-latest.min.js potrebbe non darti sempre la versione che ti aspetti. Al momento della stesura di questo documento, si collega all'ultima versione di jQuery 1.x, anche se è stato rilasciato anche jQuery 2.x. Questo perché jQuery 1.x è compatibile con i browser meno recenti, incluso IE 6/7/8, e jQuery 2.x non lo è . Se vuoi l'ultima versione di jQuery 2.x, allora (per ora) devi specificarlo esplicitamente.

Le due versioni hanno la stessa API, quindi non c'è differenza percettiva per i browser compatibili. Tuttavia, jQuery 1.x è un download più grande di 2.x.


Grazie per il tuo punto di vista, ma nel mio caso è meglio usare l'ultima versione. tuttavia, sono parzialmente d'accordo con la tua opinione, ma alcune nuove versioni risolvono anche vecchi bug. Inoltre, l'ultima versione ha più probabilità di essere nella cache, questo è uno dei vantaggi di cdn.
Martin Borthiry,

2
un buon esempio di ciò che sta accadendo è lo sviluppo in qualsiasi jquery <1.4, quindi l'aggiornamento oltre 1.4. Sono state apportate modifiche all'accesso alle proprietà e al modo in cui le richieste ajax gestivano i dati JSON nella richiamata.
scrappedcola

solo per chiarire .. stavo chiedendo una singola pagina che utilizza una parte banale di jquery ... Capisco il tuo punto giusto, ma voglio solo sapere se google offre un URL per ottenere l'ultima versione.
Martin Borthiry,

4
@scrappedcola - jQuery 1.9 ha introdotto anche molte modifiche sostanziali. Ho riscontrato molti bug nel corso degli anni a causa di problemi di compatibilità con le versioni precedenti in jQuery. E sono assolutamente d'accordo con il consiglio di Blazemonger. In nessun caso dovresti semplicemente puntare all'URL "latest jQuery". Saresti in completa mercé del team jQuery e una nuova versione di jQuery potrebbe facilmente danneggiare il tuo sito. Non solo potrebbe accadere, ma probabilmente accadrà a un certo punto.
Steve Wortham

bello apprendere che la memorizzazione nella cache si basa sul livello di dettaglio della versione!
Tadas V.

8

Non so se / dove sia pubblicato, ma puoi ottenere l'ultima versione omettendo i numeri minori e build.

Ultimo 1.8.x:

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

Ultima versione 1.x:

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

Tuttavia, tieni presente che questi collegamenti hanno un timeout della cache molto più breve rispetto al numero di versione completo, quindi i tuoi utenti potrebbero scaricarli più di quanto desideri. Per ulteriori informazioni, consulta il .0 cruciale nei riferimenti della CDN di Google a jQuery 1.x.0 .


1
In alternativa, puoi ottenere l'ultima versione da code.jquery.com/jquery.min.js di solito viene aggiornata pochi giorni prima degli altri cdn
Kevin B

Sebbene sia possibile estrarre l'ultima versione 1.8.x in questo modo, non è possibile estrarre l'ultima 1.9 o qualsiasi numero di versione minore dopo con collegamenti simili. Inoltre, il collegamento "latest 1.x" attualmente punta a 1.11.1 quando l'ultimo è effettivamente 1.11.3.
Blazemonger

@Blazemonger È corretto. Questo è cambiato dopo aver risposto a questo. Hai un'ottima spiegazione nel tuo aggiornamento!
jrummell

8

Se desideri utilizzare jQuery CDN diversa dalla libreria jQuery ospitata da Google, potresti considerare di utilizzarla e assicurarti che utilizzi l'ultima versione di jQuery:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

Questo ha tirato su 1.9.1 invece di 2.0
Phillip Senn

3
v2.x non è compatibile con v1.x. Qualsiasi sito che punta a questo URL in realtà rovinerà i siti se è stato aggiornato alla v2
Abdul Munim


2

Per utilizzare l'ultima versione di jquery ospitata da Google

Gli esseri umani:

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

  2. Ottieni lo snippet:

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

  1. Inseriscilo nel tuo codice.
  2. Assicurati che funzioni.

Motori di ricerca:

  1. Aspetta che lo faccia un umano.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.