[解決済み] GoogleのCDNにjQueryの最新版が登録されました。
質問
私は
公式ドキュメント
であることを 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よりもダウンロード量が多くなります。
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] GoogleのホストされたjQueryを使用する最良の方法、しかしGoogleの私のホストされたライブラリにフォールバックすることは失敗します。
-
[解決済み] jQueryを使ってロールオーバー時に画像ソースを変更する
-
[解決済み] jQueryでフォームフィールドをクリアする
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jquery mobileでページ中央のグリッド表示
-
[解決済み] JavaScript - 二重引用符のエスケープ
-
[解決済み] Google APIsに "最新 "のjQueryライブラリへのリンクはありますか?[重複しています]。
-
[解決済み] jQuery.ajaxでmultipart/formdataを送信する。
-
[解決済み] jQueryでPUT/DELETEリクエストを送信する方法は?
-
[解決済み] 動的に生成された要素でクリックイベントが動作しない [duplicate]
-
[解決済み] jQueryを使用して配列から特定の値を削除する方法
-
[解決済み] jQuery append() - 追記された要素を返す
-
[解決済み] jQueryを使用して文字列から最後の文字を削除する方法は?
-
[解決済み] なぜjQueryにはGoogleのCDNを使うべきなのでしょうか?