そろそろDojo Toolkit 1.2へ

 うちの社内サーバで使っているDojo Toolkitはバージョン0.4.3のままで、0.9や1.0へはバージョンアップが面倒なのでそのままになっていました。しかし、IE8 Beta2での不具合とか、10月になってDojo Toolkitの1.2.0が出たりして、そろそろ移行を本気で考えないとダメだな。よっこらしょっと、できる範囲でやってみましたので、そのメモです。
 とりあえず現行0.4.3で動いているやつの修正で、自分の使わない関数しか調べていませんし、調べ方もAPIのページとソースを直接見るだけなので、ちゃんとマニュアルを読んだスマートな方法じゃないということを先に記述しておきます。
 あと、今、APIのページはメンテナンス中とのことでつながらないですね。こちらからダウンロードできるとのことですが、api-staging.dojotoolkit.orgなら見られますので、こっちにリンクしておきます。

dojo.cookie

dojo.cookie APIのページ
使用するには

dojo.require("dojo.cookie");

で読み込み指定が必要。
Cookieをあつかう関数で、前は設定、取得、削除でdojo.io.cookie.setCookie、dojo.io.cookie.getCookie、dojo.io.cookie.deleteCookieとそれぞれ分かれていましたが、dojo.cookieひとつでまかなうようになっています。
設定するとき

dojo.cookie(name, value);

有効期限5日で設定するとき

dojo.cookie(name, value, {expires: 5});

値を取得

var value = dojo.cookie(name);

削除するとき

dojo.cookie(name, null, {expires: -1});

dojo.byID

dojo.byId APIのページ
dojo.byId('dom')は0.4の頃と同じでそのまま使えます。

XMLHttpRequest

dojo.xhr APIのページ
dojo.io.bindはdojo.xhrになって、methodを引数で指定するのもありですが、methodの違いによってdojo.xhrGet、xhrPost、xhrPut、dojo.xhrDeleteというショートカットもあります。
0.4の頃、以下のようにしていたのが

dojo.io.bind({
	url: xmlurl,
	method: "POST",
	content: {
		name1: value1,
		name2: value2
	},
	mimetype: "application/xml",
	load: function(type, data){
		xmlsyori(data);
	},
	transport: "XMLHTTPTransport",
	preventCache: true
});

1.0では以下のようになります

dojo.xhrPost({
	url: xmlurl,
	content: {
		name1: value1,
		name2: value2
	},
	handleAs: "xml",
	load: function(response, ioArgs){
		xmlsyori(response);
	},
	preventCache: true
});

引数の内容はあまり変わっていないけども、mimetypeがhandleAsとか、loadのresponseの順序が逆とか、注意点はあります。
 あと、widgetについて適用していったのですが、こちらはだいぶ変わっていててこずっています。また後日ということで。

10/7追記

 上の方で述べたAPIのダウンロードできるヘルプファイルなのですが、肝心の目次ページがxmlファイルで、これだけではオフラインで役に立たないですね。調べてみるとIDEEclipseで表示するために準備されたもののようです。Exlipseは使っていないのでブラウザーだけで見られればすごく便利なのですが。何か手がないか調べてみます。