Google デスクトップ ガジェットにて
“options.putValue”を使って
設定情報を変更した際に
“view.onoptionchanged”が呼ばれます。
これはオプション画面でOKボタンを押下したときに
呼出されるものだと思い込んでいたら違いました。
“options”の内容が変更されたら
“onoptionchanged”が呼ばれます。
オプション画面で設定情報を複数変更すると
その変更した数だけ呼ばれます。
OKボタンを押下された後の処理が
なんで遅いんだろうと思っていましたが
設定情報を読み直していたので
なるほどです。
“onoptionchanged”にて”event.propertyName”に
変更された対象キー名が入っているので
指定された文字列でなかったら
設定情報を再度読込まないように
判定するようにしました。
下記のようにしました。
// オプション画面でOKボタンが押下されたとき
view.onok = function() {
// 設定情報の書込み
options.putValue(‘googleOptionOK’, new Date);
}
// 設定情報の変更
view.onoptionchanged = function() {
if (
event != null
&& event.propertyName != ‘googleOptionOK’
) {
// 指定されたキーでないので無視
return;
}
// 設定情報の再度読込み
// 設定情報の反映
}