1. ホーム
  2. jquery

[解決済み] GoogleのCDNにjQueryの最新版が登録されました。

2022-12-17 04:27:46

質問

私は 公式ドキュメント であることを Google CDN の src をjQueryに変換しています。

<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はありますか?

どのように解決するのですか?

2014年7月3日に更新しました。 現在のところ jquery-latest.js は更新されなくなりました。 から jQueryブログ :

私たちは、次のことを知っています。 http://code.jquery.com/jquery-latest.js が悪用されていることは CDN の統計によると が悪用されるのは、それが最も人気のあるファイルであることを示すCDN統計のためです。もし、このファイルが開発者がローカルコピーを作成するためだけに使用されているのであれば、このようなことは起こりません。 が開発者によってローカル コピーを作成するために使用されるだけであれば、そうはなりません。

私たちはこのファイルの更新を停止することを決定しました。 このファイルおよび最小化されたコピーの更新を停止することにしました。 をバージョン 1.11.1 で永久に保持することにしました。

Google CDN チームは、不注意による Web の破損を防ぐために、この取り組みに参加しました。 にあるファイルを更新しなくなりました。 http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js . このファイル も同様にバージョン 1.11.1 にロックされたままです。

次の、今では無意味な、答えは歴史的な理由のためにここに保存されます。


これはやめましょう。マジでやめてくれ。

jQueryのメジャーバージョンへのリンクは有効ですが、それは悪い考えです。コードをテストせずに自動的にjQueryを更新した場合 完全に をテストせずに自動的にjQueryをアップデートすると、重要なメソッドのAPIが変更された場合に予期せぬ驚きを味わう危険性があります。

最新バージョンのjQueryを使用してコードを記述します。テスト、デバッグを行い、実稼働の準備ができたら公開します。

そして、jQueryの新しいバージョンがリリースされたら、自問自答してください。 私のコードにこの新しいバージョンは必要でしょうか? たとえば、以前は存在しなかった重要なブラウザの互換性があるのか、それともほとんどのブラウザで私のコードを高速化できるのか?

もし答えが「no"」なら、わざわざコードを最新のjQueryバージョンに更新する必要はないでしょう。 そうすることで、以前は存在しなかった新しいエラーがあなたのコードに追加されるかもしれません。 . 責任ある開発者は、徹底的にテストすることなく、他のサイトから新しいコードを自動的に取り込むことはありません。

常に最新バージョンのjQueryを使用しなければならない正当な理由はありません。古いバージョンはCDNでまだ利用可能であり、それらがあなたの目的のために機能するならば、なぜわざわざそれらを置き換えるのでしょうか?


二次的な、しかしおそらくより重要な問題は、キャッシュです。他の多くのサイトがそうであるため、多くの人が CDN 上の jQuery にリンクしており、ユーザーはそのバージョンをすでにキャッシュしている可能性が高いのです。

問題は キャッシュは、完全なバージョン番号を提供する場合にのみ機能します。 . もし部分的なバージョン番号を提供した場合、遠い将来のキャッシュは起こりません -- そうすると、一部のユーザーは同じ URL から異なるマイナー バージョンの jQuery を取得することになるからです。(例えば、1.7へのリンクが、ある日は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を使用する大きな理由の一つです。


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よりもダウンロード量が多くなります。