更新2014年7月3日:現在、jquery-latest.js
更新されていません。jQueryブログから:
http://code.jquery.com/jquery-latest.jsは、最も人気のあるファイルであることを示すCDN統計のために悪用されていることがわかっています。ローカルコピーを作成するために開発者によってのみ使用されていた場合は、そうではありません。
このファイルと縮小されたコピーの更新を停止し、両方のファイルをバージョン1.11.1で永久に保持することにしました。
Google CDNチームは、不注意によるWebの破損を防ぐためにこの取り組みに参加し、 http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.jsのファイルを更新しなくなりました
。そのファイルはバージョン1.11.1でもロックされたままになります。
次の、今は議論の余地のある答えは、歴史的な理由からここに保存されています。
これをしないでください。真剣に、しないでください。
jQueryのメジャーバージョンへのリンクは機能しますが、それは悪い考えです。10進数の更新ごとに、まったく新しい機能が追加され、非推奨になります。コードを完全にテストせずにjQueryを自動的に更新する場合、重要なメソッドのAPIが変更された場合、予期しない驚きのリスクがあります。
すべきことは次のとおりです。最新バージョンのjQueryを使用してコードを記述します。テストし、デバッグし、本番環境の準備ができたら公開します。
次に、jQueryの新しいバージョンが公開されたら、次のことを自問してください。コードにこの新しいバージョンが必要ですか?たとえば、これまで存在しなかった重要なブラウザの互換性はありますか、それともほとんどのブラウザでコードを高速化しますか?
答えが「いいえ」の場合は、コードをわざわざ最新のjQueryバージョンに更新しないでください。そうすることで、以前は存在しなかった新しいエラーがコードに追加される可能性もあります。責任ある開発者は、徹底的にテストせずに、別のサイトからの新しいコードを自動的に含めることはありません。
常に最新バージョンのjQueryを使用する正当な理由はありません。古いバージョンはまだCDNで利用可能ですが、それらが目的に合っている場合は、なぜわざわざそれらを置き換えるのでしょうか。
二次的な、しかしおそらくもっと重要な問題はキャッシングです。他の多くのサイトがリンクしているため、多くの人がCDN上のjQueryにリンクしており、ユーザーはそのバージョンがすでにキャッシュされている可能性があります。
問題は、完全なバージョン番号を指定した場合にのみキャッシュが機能することです。部分的なバージョン番号を指定した場合、遠い将来のキャッシュは発生しません。指定した場合、一部のユーザーは同じURLから異なるマイナーバージョンのjQueryを取得するためです。(1.7へのリンクが1日1.7.1、翌日1.7.2を指しているとしましょう。ブラウザはどのようにして今日最新バージョンを取得していることを確認しますか?回答:キャッシュなし。)
実際、ここにいくつかのオプションとそれらの有効期限設定の内訳があります...
http://code.jquery.com/jquery-latest.min.js (キャッシュなし)
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js(1 時間)
http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js(1 時間)
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js(1年 )
したがって、このようにjQueryにリンクすることで、最初にCDNを使用する主な理由の1つを実際に排除できます。
http://code.jquery.com/jquery-latest.min.jsでも、期待するバージョンが常に提供されるとは限りません。この記事の執筆時点では、jQuery 2.xもリリースされていますが、最新バージョンのjQuery1.xにリンクしています。これは、jQuery1.xがIE6/7/8を含む古いブラウザーと互換性があり、jQuery2.xが互換性がないためです。jQuery 2.xの最新バージョンが必要な場合は、(今のところ)それを明示的に指定する必要があります。
2つのバージョンのAPIは同じであるため、互換性のあるブラウザーの知覚に違いはありません。ただし、jQuery1.xは2.xよりもダウンロード量が多くなります。