スポンサーサイト

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

jQuery 1.5.1 & 1.5.2 での変更箇所の自分なりのまとめ

リリースノートの jQuery Blog ≫ jQuery 1.5.1 Released jQuery Blog ≫ jQuery 1.5.2 Released を読んで、自分なりにまとめました。誤訳ももちろんあると思うので、 読まれる際はご注意を。
1.5.1 と 1.5.2 は主にバグ修正が行われて、新機能は少ないようです。
箇条書きにすると以下のような感じ:

  • IE 9 のサポート
  • jQuery.ajax()へ渡すオプションを3つ追加
  • jqXHR オブジェクトにoverrideMimeType()追加
  • jQuery.supportへいくつかの追加・変更

IE 9 のサポート

表題の通り、jQuery が IE 9 をサポートしました。

jQuery.ajax()へ渡すオプションを3つ追加

jQuery.ajax()に渡す settings オブジェクトに 新しく3つのオプションが追加されました。isLocal, mimeType, xhrFields の3つです。

isLocal
trueにすると、jQuery は例えデフォルトではそうでなくても、 現在の環境を local と認識します。デフォルトだと、 file, *-extension, widget のプロトコルを local と認識します。
mimeType
XHR(XMLHttpRequest)の mime タイプを指定した値で上書きします。
xhrFields
ネイティブの XHR オブジェクトにセットする、 キーをfieldName、値をfieldValue にしたオブジェクトを指定します。 例えばクロスドメインリクエストで使用できるwithCredentials プロパティをtrueにするためにこのオプションを使用することができます。

jqXHR オブジェクトにoverrideMimeType()追加

1.5.0 で一時的に削除されていたoverrideMimeType()が jqXHR オブジェクト(jQuery XMLHttpRequest オブジェクト)にも 含むようになりました。例えば、Content-Type ヘッダを修正するために、 beforeSend()コールバック関数内で使うことができます。

// http://api.jquery.com/jQuery.ajax/ に掲載されている例です
$.ajax({
  url: "http://fiddle.jshell.net/favicon.png",
  beforeSend: function ( xhr ) {
    xhr.overrideMimeType("text/plain; charset=x-user-defined");
  }
}).done(function ( data ) {
  if( console && console.log ) {
    console.log("Sample of data:", data.slice(0, 100));
  }
});

jQuery.supportへいくつかの追加・変更

jQuery.supportnoCloneCheckedプロパティが 新規追加され、scriptEval プロパティがscriptEval()という メソッドになりました。(※scriptEval()は jQuery1.6 で 削除されました)

jQuery.support.noCloneCheckedは、DOM要素を clone するとき、.checkedプロパティの値もコピーする場合は trueになります。

scriptEval()は、.appendChild().createTextNode()などの標準のDOM 操作メソッドを 使って挿入した script タグが自動的に評価され実行されるなら true を返します。プロパティからメソッドになったのは、 Content Security Policy (CSP)違反を回避するためのようです。

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