Versão mais recente do jQuery no CDN do Google

103

Li no documento oficial do Google CDN que este é o srcto jQuery:

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

No entanto, é irritante ter que mudar minha srcreferência de jQuery a cada atualização de versão.

Descobri que, se definir a versão para 1, o Google retorna a versão mais recente do jQuery.

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

Esta é a coisa certa a fazer? Existe algum URL oficial para fazer referência à versão mais recente do jQuery hospedada no Google CDN?

Martin Borthiry
fonte
verifique se este post é mais antigo. Então, a outra é a duplicata
Martin Borthiry
1
Esta é uma duplicata de stackoverflow.com/questions/441412/… (perguntado em 14 de janeiro de 2009)
Nick Pierpoint
1
@MartinBorthiry Isso não importa necessariamente
Blazemonger

Respostas:

182

ATUALIZAÇÃO 03/07/2014: A partir de agora, jquery-latest.jsnão está mais sendo atualizado. Do blog da jQuery :

Sabemos que http://code.jquery.com/jquery-latest.js é abusado por causa das estatísticas do CDN mostrando que é o arquivo mais popular. Isso não seria o caso se estivesse sendo usado apenas por desenvolvedores para fazer uma cópia local.

Decidimos parar de atualizar este arquivo, bem como a cópia minimizada, mantendo ambos os arquivos na versão 1.11.1 para sempre.

A equipe do Google CDN se juntou a nós nesse esforço para evitar quebras inadvertidas da web e não atualiza mais o arquivo em http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js . Esse arquivo também ficará bloqueado na versão 1.11.1.

A seguinte resposta, agora discutível, é preservada aqui por razões históricas.


Não faça isso. Sério, não.

Vincular às versões principais do jQuery funciona, mas é uma má ideia - novos recursos inteiros são adicionados e descontinuados a cada atualização decimal. Se você atualizar o jQuery automaticamente sem testar seu código COMPLETAMENTE , você arrisca uma surpresa inesperada se a API de algum método crítico mudar.

Aqui está o que você deve fazer: escreva seu código usando a versão mais recente do jQuery. Teste, depure e publique quando estiver pronto para produção.

Então, quando uma nova versão do jQuery for lançada, pergunte-se: Eu preciso dessa nova versão em meu código? Por exemplo, há alguma compatibilidade crítica de navegador que não existia antes ou isso irá acelerar meu código na maioria dos navegadores?

Se a resposta for "não", não se preocupe em atualizar seu código para a versão mais recente do jQuery. Fazer isso pode até adicionar NOVOS erros ao seu código que não existiam antes . Nenhum desenvolvedor responsável incluiria automaticamente um novo código de outro site sem testá-lo completamente.

Simplesmente não há um bom motivo para SEMPRE usar a versão mais recente do jQuery. As versões antigas ainda estão disponíveis nos CDNs e, se funcionarem para seus objetivos, por que se preocupar em substituí-las?


Um problema secundário, mas possivelmente mais importante, é o cache. Muitas pessoas criam links para jQuery em um CDN porque muitos outros sites o fazem, e seus usuários têm uma boa chance de já ter essa versão armazenada em cache.

O problema é que o armazenamento em cache só funciona se você fornecer um número de versão completo . Se você fornecer um número de versão parcial, o armazenamento em cache em um futuro distante não acontecerá - porque, se isso acontecer, alguns usuários obteriam diferentes versões secundárias do jQuery do mesmo URL. (Digamos que o link para 1,7 aponta para 1.7.1 um dia e 1.7.2 no dia seguinte. Como o navegador se certificará de que está recebendo a versão mais recente hoje? Resposta: sem armazenamento em cache.)

Na verdade, aqui está uma análise de várias opções e suas configurações de expiração ...

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

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 ano)

Portanto, ao vincular ao jQuery dessa forma, você está, na verdade, eliminando um dos principais motivos para usar um CDN em primeiro lugar.


http://code.jquery.com/jquery-latest.min.js também pode não fornecer a versão que você espera. No momento em que este livro foi escrito, ele se vincula à versão mais recente do jQuery 1.x, embora o jQuery 2.x também tenha sido lançado. Isso ocorre porque o jQuery 1.x é compatível com navegadores mais antigos, incluindo IE 6/7/8, e o jQuery 2.x não é . Se você deseja a versão mais recente do jQuery 2.x, então (por enquanto) você precisa especificar isso explicitamente.

As duas versões têm a mesma API, portanto, não há diferença de percepção para navegadores compatíveis. No entanto, jQuery 1.x é um download maior que 2.x.

Blazemonger
fonte
Obrigado pelo seu ponto de vista, mas no meu caso é melhor usar a versão mais recente. no entanto, concordo parcialmente com sua opinião, mas algumas novas versões também corrigem bugs antigos. Além disso, a versão mais recente tem mais probabilidade de estar no cache, que é um dos benefícios do cdn.
Martin Borthiry
2
um bom exemplo disso acontecendo é desenvolver em qualquer jquery <1.4 e depois atualizar para 1.4. Houve mudanças nas propriedades de acesso e como as solicitações ajax manipulavam os dados JSON no retorno de chamada.
scrappedcola
só para esclarecer .. Eu estava pedindo uma única página que use parte trivial do jquery ... Eu entendo seu ponto positivo, mas eu só quero saber se o google está oferecendo uma url para obter a versão mais recente.
Martin Borthiry
4
@scrappedcola - o jQuery 1.9 também introduziu várias alterações importantes. Eu encontrei muitos bugs ao longo dos anos devido a problemas de compatibilidade com versões anteriores do jQuery. E eu concordo totalmente com o conselho de Blazemonger. Sob nenhuma circunstância você deve simplesmente apontar para o URL "mais recente do jQuery". Você estaria totalmente à mercê da equipe jQuery, e um novo lançamento do jQuery poderia facilmente quebrar seu site. Não apenas poderia acontecer, mas provavelmente acontecerá em algum momento.
Steve Wortham
bom saber que o cache é baseado no nível de detalhe da versão!
Tadas V.
8

Não sei se / onde está publicado, mas você pode obter a versão mais recente omitindo os números secundários e de compilação.

1.8.x mais recente:

<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>

No entanto, lembre-se de que esses links têm um tempo limite de cache muito mais curto do que o número da versão completa, portanto, seus usuários podem estar baixando-os mais do que você gostaria. Consulte The .0 crucial nas referências de CDN do Google para jQuery 1.x.0 para obter mais informações.

Jrummell
fonte
1
Como alternativa, você pode obter a versão mais recente em code.jquery.com/jquery.min.js, ela geralmente é atualizada alguns dias antes dos outros cdns
Kevin B
Embora você possa obter a versão 1.8.x mais recente dessa maneira, não é possível obter a versão 1.9 mais recente ou qualquer número de versão secundária com links semelhantes. Além disso, o link "1.x mais recente" atualmente aponta para 1.11.1 quando o mais recente é, na verdade, 1.11.3.
Blazemonger
@Blazemonger Correto. Isso mudou depois que eu respondi isso. Você tem uma ótima explicação em sua atualização!
jrummell
8

Se você deseja usar o jQuery CDN diferente da biblioteca jQuery hospedada pelo Google, você pode considerar usar isso e garantir o uso da versão mais recente do jQuery:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Abdul Munim
fonte
Isso puxou 1.9.1 em vez de 2.0
Phillip Senn
3
v2.x não é compatível com v1.x. Qualquer site que aponte para este url irá, na verdade, bagunçar os sites se tiver sido atualizado para v2
Abdul Munim
2

Para usar a versão mais recente do jquery hospedada pelo Google

Humanos:

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

  2. Obtenha o snippet:

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

  1. Coloque no seu código.
  2. Certifique-se de que funciona.

Bots:

  1. Espere um humano fazer isso.
Bob Stein
fonte