code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

jQuery 1.8.0 リリース

2012年8月9日にjQueryの1.8.0がリリースしていた。

まだ本格的には利用していないが、何が追加になって、何がなくなったのか、更新して平気?等をブログでチェックした。

リンク先

リリースノートはこのあたり(jQuery blog)を参考にした。

CDNs

CDN達は次の通り。本日(2012/8/12)確認したらいずれのCDNも1.8.0に更新されていた。

jQuery本家
<!-- 圧縮版 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<!-- 非圧縮版 -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.js"></script>
以前サーバーがダウンしていたこともあったと記憶しているのでCDNとしては使ったことない
Google
<!-- 圧縮版 -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<!-- 非圧縮版 -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.js"></script>
SSLが使えるけど、MSのCDNもSSL使えるようなので直リンクであればどちらを使うかは好みでいいのかも
Microsoft
<!-- 圧縮版 -->
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.min.js"></script>
<!-- 非圧縮版 -->
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js"></script>
MSのCDNは使ったことないので、どのくらい信頼性があるのかは不透明、だけどきっと悪くないんでしょう

何が追加になったの?

  • Sizzle re-architected。Sizzleっていうのは確かHTMLからセレクタ(.fooとか#id)の文字列でDOM要素を抜き出す検索エンジンみたいなもので、それを再構築して早くなりましたよってことのよう。不具合がなければ、既存のコードはそのまま動くはず
  • Animations re-imagined。アニメーションを見直したみたい。アニメーションは細かい操作をしようとするとうまく動かないことがあるので、継続して改善しているみたい。既存のコードはその通りに動くし、もっとよく正しく動くかもしれない。Promiseを返す新しいメソッドAnimationやTween(jQuery.fxの代わり)についてのDraftのドキュメントサンプルコード。たしかに綺麗に動いている。
  • Automatic CSS prefixing。これは便利かも。ブラウザ毎の独自CSSプロパティを自動的に付加してくれるようになった。例えば.css("user-select", "none");とすればChrome/Safariでは"-webkit-user-select"となり、Firefoxでは"-moz-user-select"となる。IE10だったら"-ms-user-select"となるようだ。完全ではないのかもしれないけれど、jQueryの魅力はこういったクロスブラウザ対応を吸収してくれるところだと改めて感謝
  • More flexibility with $(html, props)。$(html, props)の書き方でjQueryオブジェクトを生成した時にいくつかの予約語(1.7.2だとwidth, height, val, css, html, text, data, offset)を属性名として指定するとエラーとなっていたのをエラーとはしないようにしたみたい。例えば、 $('<div />', {width: '100', myattr: 'foo'});というのがエラーにならなくなった。そんなに重要なことかな?他の例もあるのかもしれないけれどこれしか発見できず
  • More than 160 bugs closed。とにかくいっぱい直したよ!ってことのようだ
  • Smaller code size。1.7.2よりもコード量が減ったみたい
  • Modularity。いつからかはよく知らないんだけど、jQueryのコードは現在分割して開発されているみたい。だからgruntというのを使えば、必要な部分だけを抽出してMy jQueryを構築できますよってことみたい。未使用なので如何ほどのものかは不明
  • $.browser。ちなみに1.8 beta-1の記事によると$.browserは1.9で完全に削除する様子。1.9 compat pluginというのを使う必要があるみたい

削除されたもの

  • $(element).data(“events”)。"events"という名前でdata(jQueryオブジェクト内の内部データ)が保持されていたのを止めた模様。ドキュメント化はされていなかったみたい
  • Deferred.isResolved() and Deferred.isRejected()。書いてある通り、Deferred.isResolved()とDeferred.isRejected()という古いメソッドが正式に削除されたとのこと
  • $(element).closest(Array) returning Array。closestメソッドを呼ぶ際にArrayを渡すとArrayが返ってきていたみたいだけど削除に。使ったことなかった・・・
  • $.curCSS。jQuery.css()のエイリアスとして1.3以降の互換性のために残っていたコードを削除したとのこと
  • $.attrFnMore flexibility with $(html, props)の部分と同じこと・・・かな?ドキュメント化されてないコードだけど、現在はまだ残していて、1.9で完全に消すとのこと

更新して平気?

削除されたコードは、ドキュメント化されていないコード、および互換性のために残されていたコードだけであるので、既存のAPIの動きを損なうものはないようだ。なので、更新しちゃおうっと。

関連記事
タグ:jQuery
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。