jQuery1.8以降に追加される予定の新機能と変更点
カルドセプト!カルドセプトが発売された!まだ3DSも持っていないminamiです。
先日jQuery1.8bがリリースされ、公式ブログに次期バージョンの1.8~1.9で実現されることについて言及されています。ざっくり新機能と変更点について調べてみました。
"jQuery is now powering about one-half of all the major web sites on the Internet;"
「jQueryは現在、メジャーなWebサイトのおよそ半分で動いている。」
って改めて聞くとすごいですね!
$.cssがベンダープレフィックスに対応
jQuery1.8からは$.css()で設定したCSS3のプロパティに、ブラウザごとのベンダープレフィックスが自動で追加されるようになるようです!
jQuery.Animationの強化
CSS3のアニメーションに対応しているブラウザではそちらを使用し、非対応のブラウザでもバグが修正されて確実なアニメーションが提供される。ということでしょうか。
Sizzleエンジン
CSS選択のエンジンが書き換えられ、よりパフォーマンスが向上している、と。
XSS対策
$()メソッドでHTMLを要素を生成できる設計になっているが、ここに<script>タグなどの不適切な文字列を入れられてXSS攻撃されることを極力防ぐため、jQuery1.9からは最初の文字が'<'以外の場合はCSSセレクタとして見なされる。jQuery1.8からはタグ生成には新しく$.parseHTMLメソッドが導入される。
$()でのタグ生成はルールが厳格になるので、HTMLを文字列から作りたい場合は$.parseHTMLメソッドを使え、ということですかね。
削除が検討されている機能
$.browser
前々から非推奨となっていましたが、jQuery1.9ではついに削除されるようです。 ブラウザ判定ではなくModernizr.jsを使うなりして機能で振り分けなさい、と・・・
$.sub
jQUery1.9からはコアの機能じゃなくて、互換性のあるプラグインにしちゃおうか?という話のようです。個人的には使っていませんが・・・
グローバルのAjaxイベント
$.ajaxで発火するajaxSrartのようなイベントは、jQuery1.9からは、グローバルではなくdocumentに対してアタッチされるようになる。
まとめ
ざっくり読んでみました。「jQueryは大成功をおさめたけどブラウザも日々進化している、jQueryもそれに追いついてさらに進化するよ!」(意訳)とは頼もしい限りですね。
英語は苦手なので訳し間違いなどあればご指摘ください・・・