Windows Vistaのサイドバーガジェット作成メモ

仕事でWindows Vista向けサイドバーガジェットを作ることになったので忘れないようにメモ。
基本的なところは
http://gihyo.jp/dev/feature/01/windows-gadget
辺りを参照。

文字化けについて

全ファイルをutf-8、gadget.xmlutf-8と記述しても文字化けした。
htmlファイル側でも

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

と記述しておけば解決。

JSONファイルの読み込み

外部ドメインからJSONを読む場合、JSONPである必要はない

//サンプルメソッド
this.get_json = function()
{
	var xhr = new XMLHttpRequest();
	xhr.open("GET", "http://www.hoge.jp/hoge.json?" + (new Date/1000|0), false);	//UNIXタイムでキャッシュ無視
	xhr.send(null);
	this.json = eval(xhr.responseText);
}

JSONの形式

取得するJSONの文字列は前後に"["と"]"がないと、ガジェット化したときにevalが通らない。
ブラウザ上では通るので要注意。

プログラムのスタート

window.attachEvent
(
	"onload",
	function()
	{
		eval( "O_HOGE = new Hoge();" );
	}
);

動作確認

IE7辺りで。