|
HTML5テクニカルノート
PreloadJS 0.6.0: 読込みにwithCredentialsとheadersを定める
ID: FN1412006 |
Technique: HTML5 and JavaScript |
Library: PreloadJS 0.6.0 |
PreloadJSは、何でも読込めるライブラリです。ファイル形式にかかわらず、わずかなコードでプリロードできます。けれど、インターネットの性質から、リクエストに手を加えたり、セキュリティフラグを立てなければならないこともあります。そこで、低レベルのリクエストをカスタマイズできるように、ロード項目の(LoadItem)オブジェクトに、新たにwithCredentialsとheadersというふたつのプロパティが加わりました(「Better loading with PreloadJS: withCredentials and headers」参照)。
- withCredentials
サーバーサイドのアプリケーションは、一般にcookieを認証データに含めて送ります。通常、ブラウザは自動的にこのデータを、リクエストとともに返します。クライアントサイドの開発者は、これらの認証情報は知らないという考え方です。XmlHttpRequestsを使うとき、開発者はXHRオブジェクトに、これらの値をリクエストとともに送らせなければなりません。そこで、withCredentialsを用います。リクエストをつくるとき、withCredentialsプロパティにtrueを与える({withCredentials: true})のです。すると、PreloadJSはこの値を送り、認証リクエストが正しく動きます。
var loadItem = {
withCredentials: true,
src: ”http://file.com/api.php”,
data: {foo:bar, baz:1},
method: createjs.LoadQueue.POST
};
var request = new createjs.LoadQueue(loadItem);
request.loadFile(loadItem);
|
- headers
PreloadJSは必要なヘッダを内部的に定めてきました。けれどこれからは、ヘッダのオブジェクトをheadersプロパティでロード項目のオブジェクトに与えられます。デフォルトのヘッダは渡された値でオーバーライドされます。
var loadItem = new createjs.LoadItem().set({
src: “http://path/to/image.png”,
headers: {
"X-My-Header": "foo",
"Content-Type": "application/x-www-form-urlencoded"
}
});
|
この設定は新たなLoadItemクラスを用いると便利です。LoadItemでなく、通常のオブジェクトを使うこともできます。LoadItemクラスを加えたことで、ロードの設定がより公式化され、ドキュメント化しやすくなりました。また、通常のオブジェクトや文字列も引続き使えますので、すでに書かれたコードには問題は起こりません。
作成者: 野中文雄
作成日: 2014年12月18日
Copyright ©
2001-2014 Fumio Nonaka. All rights reserved.
|