JQuery 1.8リリース

(2012年8月9日に開発者のWebサイトに投稿されました)

8月は、jQuery 1.8ライブラリがリリースされたため、少し暑くなった! jQuery WebサイトのCDNからコードを取得できます。



code.jquery.com/jquery-1.8.0.min.js (縮小および圧縮されたコード-サイトの作業バージョン用)

code.jquery.com/jquery-1.8.0.js (デバッグ用の非圧縮ライブラリ)



通常どおり、GoogleとMicrosoftのCDNもこれらのファイルを配信します(いつ問い合わせないでください-わかりません!)。 本当にしたい場合は、jQuery CDNのコピーを使用してください。



いくつかのベータバージョンとリリース候補があったため、リリースバージョンのエラーメッセージは表示されません。 厳格なテストの機会がたくさんありました(笑、冗談)。 多くの皆さんが最終リリースを待っています。 そのため、待機する理由はありません。バグレポートで以前に報告されたエラーがあるかどうかを確認できます。

UPD 08/31/2012: jQuery 1.8.1



エラーが見つかった場合は、 jsFiddleまたはjsbinのテストを作成して、バグ追跡ツールにエラーレポートを送信してください。 間違いを見つけたかどうかわからない場合は、フォーラムにご招待します。 jQuery 1.8.0カーネルは、jQuery UI(1.8.22)およびjQuery Mobile(1.1.1)の最新バージョンと互換性があります。 関連するページでエラーを報告する場合は、忘れずに更新してください。



JQuery 1.8クイックレビュー



このリリースでの重要な変更をリストします。



シズルリファクタリング jQueryのセレクターは、Timmy Willison(実際には2人の著者)によるコードの書き換えのおかげでさらに高速になりました。 もちろん、ほとんどのブラウザーにはquerySelectorAllがありますが、ほとんどすべての実装は場所によっては速度が遅く、クロスブラウザー機能があります。 シズルは物事をシンプルにします。 さらに、複雑なセレクターで:has()または:contains()などのセレクターを使用できます。 そうそう、IE6 / 7はまだサポートされています。

アニメーションを再描画しました 。 時間の経過とともに、jQueryのアニメーションコードは非常に複雑になりました。 コーリー・フランジはこの沼地に真っ向から飛び込み、ほとんどすべてのワニを殺しました。 ほとんどの変更は明らかではなく、インターフェイスは影響を受けないため、以前のアニメーションは動作するはずです(そしてより良く動作します)。 しかし、アニメーションをより強力かつ拡張可能にするいくつかの大きな改善があります。 注目に値する便利な機能の1つは、 Promisesでの進行状況コールバックの使用です。 私たちはまだ詳細なドキュメントに取り組んでいますが、 暫定的なドラフトがあります。 そして、実行中の新しいコードの例: jsbin.com/odocid/1/edit



CSS自動プレフィックス 。 CSSプロパティ-.css ()または.animate()を使用する場合、必要に応じてブラウザースタイルで正しいプレフィックスを作成します。 たとえば、 .css( "user-select"、 "none")を使用します。 Chrome / Safariでは、値を-webkit-user-selectに設定し、Firefoxでは-moz-user-selectに設定します 。IE10は-ms-user-selectを使用します



より柔軟な$(HTML、プロパティ) 。 jQuery 1.8 では、$(html、props)からオブジェクトのメソッドまたはプラグインを使用できます。 以前は、メソッドの短いリストが許可されており、そのドキュメントはありませんでした。 今、そのようなリストは必要ありません! ただし、プラグインが後で追加され、HTML属性と同じ名前を持つ場合、これによりコードの動作が異なることに注意してください。



160以上のバグをクローズしました 。 特に、シズルとアニメーションの書き直しは、いくつかの古いエラーの修正に弾みをつけました。そのうちのいくつかはすでに2〜3年前のものです。 マイク・シェロフは、ほとんどのCSSおよび位置決めエラーを解決し、それらをほぼゼロに減らしました。 さらに、IE 6/7/8と最新のブラウザーの厄介な違いを排除するという方針を放棄していないため、これらに対処する必要はありません。



少ないコード 。 すべてのリファクタリング、新機能、およびバグ修正にもかかわらず、圧縮されたjQuery 1.8ファイルはバージョン1.7.2よりも数百バイト小さくなりました。 このバージョンでは、サイズを小さくすること自体が目的ではありませんでしたが、コード量の増加を監視することが重要であると感じ、それが報われました。 プロジェクト全体でコードのサイズを制御しているRichard Gibsonに感謝します。



モジュール性 :プロジェクトのjQuery依存関係を十分に理解している場合は、新しいうなりシステムを使用して、jQueryの不要な部分を切り取ることができます。 1.8で今やったことは、実際には始まりにすぎません。 将来のバージョンではさらに柔軟です。



変更の完全なリストを以下に示します(お気に入りのバグが修正されているかどうか疑問に思っている場合)。



削除されたもの



短い答えは「非常に少ない」です。 コードの適応時間を確保するために1.9で削除される非推奨機能の通知の完全なリストを提供したいと思います。 1.8で削除されたもののいくつかは、リバースエンジニアリングを通じて正常に使用されたドキュメント化されていない内部関数ですが、ドキュメント化されていない関数を使用することは常に危険です。 削除されるものは次のとおりです。



$(要素).data(「イベント」) バージョン1.6では、jQueryは名前の競合を防ぐために、内部データとユーザーデータを分離し始めました。 ただし、データ構造の文書化されていない内部「イベント」を使用する人もいるため、.data()を介してそれらを取得することを可能にしました。 これは1.8では不可能ですが、 $ ._ data(element、 "events")を使用してデバッグ用のイベントデータを取得できます。 これはオープンインターフェースではサポートされていないことに注意してください-実際のデータ構造はバージョンごとに互換性がない可能性があります。



Deferred.isResolved()およびDeferred.isRejected() ブール値を返すN-1メソッドを呼び出してN番目の変数の状態を取得するのは少しばかげているので、jQuery 1.7にDeferred.state()を追加して、1回の呼び出しで状態を判断しました。 したがって、これらの2つの古いメソッドは不要になりました。 これは、Deferredの状態を文字列として頻繁に知りたいスクリプトのデバッグに非常に便利です。



$(要素).closest(配列)、配列を返します 。 これは、従来の.live()に必要な.closest()メソッドの奇妙な機能でしたが、他のコードでは使用されていません。 これで、他の場所と同様に.closest()はjQueryオブジェクトを返します。



$ .CurCSS 。 このメソッドは、jQuery 1.3以降jQuery.css()のエイリアスにすぎません 。 プロパティはAPIドキュメントの一部ではありませんでしたが、一部はそれを使用しました。 彼はもういません。



$ .AttrFn$(html、props)と組み合わせて使用​​できるメソッドを決定するために使用される、文書化されていない別のプロパティ。 これはjQuery 1.8では機能しませんが、jQueryでは$ .attrFnを空のままにして、それを使用するコードのエラーを回避します。 注:これはjQuery 1.9で完全に削除されるため、コードを更新してください!



会員



このリリースは、有能なチームの努力なしには実現できませんでした。 jQueryの主要な貢献者は、Julian Aubourg(jaubourg)、Corey Frang(gnarf)、Richard Gibson(gibson042)、Mike Scherov(mikesherov)、Rick Waldron(rwaldron)、およびTimmy Willison(timmywil)です。



jQuery 1.8の開発サイクルに最も貢献してくれたチームとコミュニティのメンバーに感謝します。アンディモナット、ロバートカティック、ジョアオブルーニ、シンドレソルスオレグガイダレンコ、イェフダカッツ、ティモティホフドミニクD.ガイアースコットゴンザレス、ジョーンゼフェラー、マットファーマー、トレイ・ハナー、ジェイソン・ムーン、ベン・アルマン、ジェフリー・フォー・クリス・ボーチャーズ、ダニエル・ジャーマン、ウラジミール・ズラヴレフ、ジェイコブ・ソーントン、チャド・キリングスワース、ノウレス・ラフィド、デヴィッド・ベンジャミン、ウリ・ギラド、クリス・フォークナー、エリジャ・マナー、ダニエル・チャットフィールド



バグの報告に時間を割いてくださった方々に非常に感謝しています。 ただし、エラーを再現しないと、エラーを修正できません。 jQueryに貢献する簡単な方法を探している場合は、トラッカーエラーを確認し、視覚的な回帰テストを作成してください。 問題を再現できるとすぐに、解決策は通常すぐに続きます。 これらのテストは単体テストの基礎となり、将来のエディションで変更されないコードの将来のエラーを防ぎます。



変更ログ



(バグとタスクのリストはあいまいです:見出しは、それらが取り除いたこのプロパティ(%80など)も、新しいプロパティを取得するという解決された問題も示していません。バグの見出しはすべて自分で推測する必要がありますが、98%の場合、これは問題ではありません。 それらについての怠laz .--およそtransl。)



アヤックス





属性





構築する





コア





Css





「データ」





延期





DOMの寸法





効果





イベント





操作(DOM内)





offset()メソッド





セレクター





.supportプロパティ





変位







*)メソッドとプロパティの非推奨の使用。

**)新機能の実装または重大なバグの除去(--notation transl。)



追加します。 QA(トランスから。コメントから)



Q:完全なライブラリではなく、その一部を選択するにはどうすればダウンロードできますか?

A:github.com/jquery/jquery#how-to-build-your-own-jquery leshaogonkov



カスタムビルドを作成するには、次の特別なgruntコマンドを使用します。

Ajaxを除外する:

grunt custom:-ajax
      
      





CSSを除外:

 grunt custom:-css
      
      





非推奨の除外:

 grunt custom:-deprecated
      
      





ディメンションを除外:

 grunt custom:-dimensions
      
      





効果を除外する:

 grunt custom:-effects
      
      





オフセットを除外:

 grunt custom:-offset
      
      





すべてのオプションモジュールを除外します。

 grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset
      
      





注:依存関係は、ビルドプロセスによって内部的に処理されます。



All Articles