Última versión de jQuery en la CDN de Google

103

Leí en el documento oficial de Google CDN que este es el srcde jQuery:

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

Sin embargo, es molesto tener que cambiar mi srcreferencia de jQuery en cada actualización de versión.

Descubrí que si configuro la versión 1, Google devuelve la última versión de jQuery.

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

¿Es esto lo correcto? ¿Existe alguna URL oficial para hacer referencia a la última versión de jQuery alojada en Google CDN?

Martin Borthiry
fuente
compruebe que esta publicación sea anterior. Entonces, el otro es el duplicado
Martin Borthiry
1
Este es un duplicado de stackoverflow.com/questions/441412/… (preguntado el 14 de enero de 2009)
Nick Pierpoint
1
@MartinBorthiry Eso no necesariamente importa
Blazemonger

Respuestas:

182

ACTUALIZACIÓN 03/07/2014: A partir de ahora, jquery-latest.jsya no se actualiza. Del blog de jQuery :

Sabemos que se abusa de http://code.jquery.com/jquery-latest.js debido a que las estadísticas de CDN muestran que es el archivo más popular. Ese no sería el caso si solo los desarrolladores lo estuvieran utilizando para hacer una copia local.

Hemos decidido dejar de actualizar este archivo, así como la copia minimizada, manteniendo ambos archivos en la versión 1.11.1 para siempre.

El equipo de Google CDN se ha unido a nosotros en este esfuerzo para evitar la rotura accidental de la web y ya no actualiza el archivo en http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js . Ese archivo también permanecerá bloqueado en la versión 1.11.1.

La siguiente respuesta, ahora discutible, se conserva aquí por razones históricas.


No hagas esto. En serio, no lo hagas.

La vinculación a las versiones principales de jQuery funciona, pero es una mala idea: se agregan características completamente nuevas y se desaprueban con cada actualización decimal. Si actualiza jQuery automáticamente sin probar su código COMPLETAMENTE , corre el riesgo de una sorpresa inesperada si la API de algún método crítico ha cambiado.

Esto es lo que debería hacer: escriba su código usando la última versión de jQuery. Pruébelo, depúrelo, publíquelo cuando esté listo para la producción.

Luego, cuando se lance una nueva versión de jQuery, pregúntese: ¿Necesito esta nueva versión en mi código? Por ejemplo, ¿existe alguna compatibilidad crítica del navegador que no existía antes, o acelerará mi código en la mayoría de los navegadores?

Si la respuesta es "no", no se moleste en actualizar su código a la última versión de jQuery. Si lo hace, incluso podría agregar NUEVOS errores a su código que no existían antes . Ningún desarrollador responsable incluiría automáticamente código nuevo de otro sitio sin probarlo a fondo.

Simplemente no hay una buena razón para usar SIEMPRE la última versión de jQuery. Las versiones antiguas todavía están disponibles en las CDN, y si funcionan para sus propósitos, ¿por qué molestarse en reemplazarlas?


Un problema secundario, pero posiblemente más importante, es el almacenamiento en caché. Muchas personas se vinculan a jQuery en un CDN porque muchos otros sitios lo hacen, y sus usuarios tienen muchas posibilidades de tener esa versión ya almacenada en caché.

El problema es que el almacenamiento en caché solo funciona si proporciona un número de versión completo . Si proporciona un número de versión parcial, el almacenamiento en caché en el futuro lejano no ocurre, porque si lo hiciera, algunos usuarios obtendrían diferentes versiones menores de jQuery desde la misma URL. (Supongamos que el enlace a 1.7 apunta a 1.7.1 un día y 1.7.2 al día siguiente. ¿Cómo se asegurará el navegador de obtener la última versión hoy? Respuesta: sin almacenamiento en caché).

De hecho, aquí hay un desglose de varias opciones y sus configuraciones de vencimiento ...

http://code.jquery.com/jquery-latest.min.js (sin caché)

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

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

http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1 año)

Entonces, al vincular a jQuery de esta manera, en realidad está eliminando una de las principales razones para usar una CDN en primer lugar.


http://code.jquery.com/jquery-latest.min.js tampoco siempre le dará la versión que espera. En el momento de escribir estas líneas, se vincula a la última versión de jQuery 1.x, aunque también se lanzó jQuery 2.x. Esto se debe a que jQuery 1.x es compatible con navegadores más antiguos, incluido IE 6/7/8, y jQuery 2.x no lo es . Si desea la última versión de jQuery 2.x, entonces (por ahora) debe especificarlo explícitamente.

Las dos versiones tienen la misma API, por lo que no hay diferencia de percepción para los navegadores compatibles. Sin embargo, jQuery 1.x es una descarga más grande que 2.x.

Blazemonger
fuente
Gracias por tu punto de vista, pero en mi caso es mejor usar la última versión. sin embargo, estoy parcialmente de acuerdo con su opinión, pero alguna versión nueva también corrige errores antiguos. Además, la última versión tiene más probabilidades de estar en caché, ese es uno de los beneficios de cdn.
Martin Borthiry
2
un buen ejemplo de esto es desarrollar en cualquier jquery <1.4 y luego actualizar a 1.4. Hubo cambios en el acceso a las propiedades y en cómo las solicitudes de ajax manejaron los datos JSON en la devolución de llamada.
scrappedcola
solo para aclarar ... Estaba pidiendo una sola página que use una parte trivial de jquery ... Entiendo su buen punto, pero solo quiero saber si Google ofrece una URL para obtener la última versión.
Martin Borthiry
4
@scrappedcola - jQuery 1.9 también introdujo muchos cambios importantes. Me he encontrado con muchos errores a lo largo de los años debido a problemas de compatibilidad con versiones anteriores en jQuery. Y estoy absolutamente de acuerdo con el consejo de Blazemonger. Bajo ninguna circunstancia debe simplemente apuntar a la URL de "jQuery más reciente". Estaría a merced total del equipo de jQuery, y una nueva versión de jQuery podría romper fácilmente su sitio. No solo podría suceder, sino que probablemente sucederá en algún momento.
Steve Wortham
¡Es bueno saber que el almacenamiento en caché se basa en el nivel de detalle de la versión!
Tadas V.
8

No sé si / dónde está publicado, pero puede obtener la última versión omitiendo los números de compilación y menor.

Último 1.8.x:

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

Último 1.x:

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

Sin embargo, tenga en cuenta que estos enlaces tienen un tiempo de espera de caché mucho más corto que con el número de versión completo, por lo que sus usuarios pueden descargarlos más de lo que le gustaría. Consulte The crucial .0 en las referencias de Google CDN a jQuery 1.x.0 para obtener más información.

jrummell
fuente
1
Alternativamente, puede obtener la última versión de code.jquery.com/jquery.min.js , generalmente se actualiza unos días antes que los otros cdns
Kevin B,
Si bien puede obtener el último 1.8.x de esa manera, no puede obtener el último 1.9 o cualquier número de versión menor después con enlaces similares. Además, el enlace "último 1.x" apunta actualmente a 1.11.1 cuando el último es realmente 1.11.3.
Blazemonger
@Blazemonger Eso es correcto. Esto cambió después de que respondí esto. ¡Tienes una gran explicación en tu actualización!
jrummell
8

Si desea usar jQuery CDN que no sea la biblioteca jQuery alojada en Google, puede considerar usar esto y asegurarse de que use la última versión de jQuery:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Abdul Munim
fuente
Esto levantó 1.9.1 en lugar de 2.0
Phillip Senn
3
v2.x no es compatible con v1.x. Cualquier sitio que apunte a esta URL arruinará los sitios si se actualiza a la v2
Abdul Munim
2

Para utilizar la última versión de jquery alojada por Google

Humanos:

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

  2. Obtenga el fragmento:

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

  1. Ponlo en tu código.
  2. Asegúrate de que funcione.

Bots:

  1. Espera a que lo haga un humano.
Bob Stein
fuente