Vista/W7 ガジェットの作成を試しています。私の実験では、システム上の特定のファイルの変更日を書きたいと思っています。問題は、文字列操作関数を使用したい場合、ガジェットが出力の書き込みを停止することです。ガジェットのコードの一部は次のようになります。
function format_lmd(lmd)
{
// Parse something like "Sun Aug 26 17:13:22 UTC+0200"
var lmdFields = lmd.split(' ');
//weekday = lmdFields[0];
//month = lmdFields[1];
//monthday = lmdFields[2];
//moment = lmdFields[3];
//return monthday+' '+month+' '+moment;
return lmd;
}
function paintGadget()
{
var fileitem = System.Shell.itemFromPath("c:\\myfile.txt");
//canvas.addTextObject(' '+fileitem.modifyDate, 'Segoe UI', 9, 'white', text_offset, 21);
var result = null;
result = ' ';
result += format_lmd(fileitem.modifyDate);
canvas.addTextObject(result, 'Segoe UI', 9, 'white', text_offset, 21);
}
split の呼び出し (関数 format_lmd 内) により、スクリプトが停止しているように見えます (または、より良い方法: 例外がスローされます)。ドキュメントは、分割関数を使用して文字列を複数の部分に分割できることを示しているようですが、私の場合は機能しません。
質問:
- 分割方法を正しく使用するにはどうすればよいですか?
- 以前は Javascript を使用したことがなかったので、いつ "var" で変数を宣言し、いつ宣言しないかは謎のままです。ガジェットに使用できる Javascript の良い入門書はありますか?
- ガジェットをデバッグする最良の方法は何ですか?
ありがとう、パトリック
編集: Javascript のデバッガーを有効にする方法を見つけました ( http://msdn.microsoft.com/en-us/library/bb456467%28v=VS.85%29.aspx#_sidebar_overview_debugging_basicを参照)。デバッグ ウィンドウがポップアップし、「オブジェクトが必要です」と表示されますが、これはあまり役に立ちません。