web-dev-qa-db-ja.com

GoogleのCDNにある最新のjQueryバージョン

私はこれがjQueryのsrcであることをGoogle CDNの 公式ドキュメント で読みました:

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

ただし、各バージョンの更新でjQuery src参照を変更する必要があるのは面倒です。

バージョンを1に設定すると、GoogleはjQueryの最新バージョンを返すことがわかりました。

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

これは正しいことですか? Google CDNでホストされているjQueryの最新バージョンを参照する公式URLはありますか?

97
Martin Borthiry

UPDATE 7/3/2014:現在、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にリンクすると、実際にはeliminationそもそもCDNを使用する主な理由の1つになります。


http://code.jquery.com/jquery-latest.min.js は、必ずしも期待するバージョンを提供するとは限りません。この記事の執筆時点では、jQuery 2.xもリリースされていますが、jQuery 1.xの最新バージョンにリンクしています。これは、jQuery 1.xはIE 6/7/8を含む古いブラウザーと互換性があり、 jQuery 2.xはそうではない であるためです。 jQuery 2.xの最新バージョンが必要な場合は、(今のところ)明示的に指定する必要があります。

2つのバージョンは同じAPIを使用しているため、互換性のあるブラウザーに知覚的な違いはありません。ただし、jQuery 1.xは2.xよりも大きなダウンロードです。

179
Blazemonger

公開されているかどうか、どこで公開されているかはわかりませんが、マイナー番号とビルド番号を省略することで最新リリースを入手できます。

最新の1.8.x:

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

最新の1.x:

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

ただし、これらのリンクのキャッシュタイムアウトは完全なバージョン番号よりもはるかに短いため、ユーザーが必要以上にダウンロードする可能性があることに注意してください。詳細については、 Google CDNのjQuery 1.x.0への重要な. を参照してください。

8
jrummell

GoogleがホストするjQueryライブラリ以外のjQuery CDNを使用する場合は、これを使用することを検討できます。ensuresはjQueryの最新バージョンを使用します。

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

Googleがホストする最新のjqueryバージョンを使用するには

人間:

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

  2. スニペットを取得します。

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

  1. コードに入れてください。
  2. 動作することを確認してください。

ボット:

  1. 人間がそれをするのを待ちます。
1
Bob Stein

ここに更新されたリンクがあります。

随時更新されており、最新バージョンをチェックし続けるだけです。

1
user0910