【(追記あります)jQueryの読み込みについて】

追記:2014/07/04

本番環境で最も新しいバージョンのjQuery「jquery-latest.js」を読み込むのはやめてほしいとjQueryの公式Blogでアナウンスされているとのことです。以下「jQuery 公式 Blog 「jquery-latest.js を使用するのをやめろ」」からの引用です。

jQuery のバージョンアップの度に Web サイトが動作しなくなる危険をユーザーに与えてるんだよってこと、jQuery の開発チームはもちろん互換性を最大限保とうと努力はしてるけど、それも完全ではないですよということ。

「互換性が完全でないから→Webサイトが動作しなくなるかもよ」っていう順番で解釈するといいかも、と個人的に思いました。「jquery-latest.js」は使わないっていう方向がいいんでしょうね。なるほどです、わかりました。

というわけで、上記内容に伴って記事内容を一部修正しました。そのことを理解された上で、情報として得られそうな箇所だけご参考ください。

—————-

jQueryの読み込みってCDNを使っている例を巷ではよく見ます。個人的によく見るのは、Google Hosted Librariesで提供されているものでしょうかね・・・。下の例をご覧ください。バージョンによって読み込むjQueryのURLが違います。

(太字になっている数字に注目です)

【jQuery ver 1.7.2】

http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js

【jQuery ver 1.8.3】

http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js

といった感じです。

ところで、常に最新のjQueryのバージョンを読み込んでおくようにする方法があります。

最も新しいjQueryスクリプトのURL

jQuery CDNで提供されている、以下のURLを読み込むことで、jQueryのバージョンが上がっても、常に最新を読み込めます。

【常に最新のjQuery】

http://code.jquery.com/jquery.js
http://code.jquery.com/jquery-latest.min.js (改行、スペースなどを削除した最軽量版)

上記のどちらを使用してもOKです。OKなんですが、冒頭にも書きましたが、下の追記を読んでください~。

※追記:2014/07/04

詳細はこちらの記事「jQuery 公式 Blog 「jquery-latest.js を使用するのをやめろ」」で解説されていますので、是非ともご参考ください。

Google Hosted Librariesからでもできる

Google Hosted Libraries からも、常に最新のjQueryを読み込むことができます。ただGoogle Hosted Libraries については「最新」とは言っても、もう少し細かい条件で読み込むことができます。

jQueryを使う環境は様々だと思いますので、必要な方はこちらを利用するのもOKじゃないかと思います。

【jQuery 1.x 系の最新】

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js

【jQuery 1.8 系の最新】

http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js

と、いう感じで・・・特定の条件での最新バージョン、ってイメージですね。私はこちらが使いやすいので、Google Hosted Libraries を使っています。こちらもjQuery CDN同様、ライブラリって言うくらいなので、jQuery UI ,MooTools など、いろいろ揃っています。

jQuery2.0はIE 6/7/8をサポートしないとのこと

2013年に提供が予定されているjQuery2.0では、IE(Internet Explorer) 6/7/8 のサポートはしない方針のようでして、今後もIE 6/7/8を使用しているブラウザからのアクセスを考えるならば、Google Hosted Libraries を使用するほうが、使い勝手はいいかもですね。(Google+で利用できる便利なChrome拡張など数々リリースしているよっしーさんから情報提供いただきました)

【jQuery2.0に関する参考URL】

JQUERY CORE: VERSION 1.9 AND BEYOND

jQuery 2.0 (early 2013, not long after 1.9): This version will support the same APIs as jQuery 1.9 does, but removes support for IE 6/7/8 oddities such as borked event model, IE7 “attroperties”, HTML5 shims, etc.
Our goal is for 1.9 and 2.0 to be interchangeable as far as the API set they support. When 2.0 comes out, your decision on which version to choose should be as simple as this: If you need IE 6/7/8 support, choose 1.9; otherwise you can use either 1.9 or 2.0.

これについて、日本語で解説されているのが下のサイトです。

私は英文そんなに得意じゃないんで、助かります。

2013年予定のjQuery 2.0、IE8以下はサポート廃止の方針 - Publickey

jQuery 2.0ではIE 6/7/8のサポートを廃止することで、より小さく、速く、

またIE 6/7/8のサポートにより生じていた問題も発生しなくなるとのことです。

またjQuery 2.0リリース以降も、IE 6/7/8をサポートするjQuery 1.9のメンテナンスは継続し、

機能追加もプラグインで行うことによって1.9と2.0の両方で

互換性を持ち続けるようにしていくとの方針が説明されているため、

IE 6/7/8をサポートしたいWebサイトではjQuery 1.9を使い続けることができます。

なるほど~、って感じで理解しました。

追記:CDNを利用するメリット

CDNのメリットについて、ブログ「understandard」の著者Jun Sugimotoさんから教えていただきました。

上のツイートで参考となるサイトを2つ教えていただいたのですが、簡潔にまとめられている「CDN上のjQueryを使う |Web&Peace」さんの記事より引用いたしますと

  • 高性能なサーバ側での圧縮転送(gzip)機能に対応し、高速化が期待できる
  • 同じURLからファイルを取得していれば、ユーザーのキャッシュ効果が期待できる
  • 自分のサーバにjQueryを置く必要がない※フォールバックを行う場合はその限りではない

とのことです~。特に高速化の部分については、これはなかなかメリット大きいと思いますので、この機会にCDNの利用をご検討されるのもいいのではないかと思います。

著者:bouya Imamura