Dynamic HTMLに関する多少の知識があればできることなので、作業綱目だけ列挙してみよう。
値の保存
m_module.setPreference("feedSelect", m_feedSelect);
保存した値の取り出し
m_feedSelect = m_module.getPreference("feedSelect");
今回筆者が作成したのは、これらの変更を反映済みのサンプルガジェットである。
言うまでもないことだが、これはゴールではなく、改良を始めるスタートラインに過ぎない。
多少の技術知識があれば、既に「もっと改良できる個所」を幾つも見い出していると思う。ぜひ、そのような改良プログラムを作り出してほしい。手を動かすことの面白さを伝えるために、意図的に作り上げたサンプルソースなのである。
少し苦労話を語ろう。
実は、分かってしまえば簡単なのだが、分かるまではかなり苦労させられた、というのが正直なところだ。
Windows VistaとInternet Exolorer 7で開発を行ったのだが、これが一筋縄ではなかったのだ。
まず、開発のための情報としてよく紹介される http://*.live.com を信頼済みサイトに登録するという方法を使うと、Windows Liveに上手くサインインできないという問題が起きた。
信頼済みサイトとそうではないサイトは同じウィンドウで実行できないため、ウィンドウが分離されてしまうのだ。操作方法によってはサインインの途中でページが別ウィンドウのInternet Explorerに表示されてしまうことがある。常に起こるわけではないが、これが起こるとサインインの手順が完了しているのに、肝心のWindows Liveを表示しているウィンドウには反映されないことが起こるのだ。
さらに、どういうわけか、自分のPC上のガジェットをLiveに登録する手順が上手く実行できなかった。Webブラウザのセキュリティの問題が絡んでいるようだが、原因は特定できなかった。
そこで、やむを得ず、一般に公開されたサーバにガジェットのファイルと転送して開発を行った。このようなやり方であれば、信頼済みサイトに登録する手順が不要となるため、サインインのトラブルも起きない。
ちなみに、筆者はLAN経由で直接編集できるWebサーバを持っていたのでそれを使ったが、直接編集できずともボタン1つでファイル転送を行うftp転送ツールなどがあれば同じ環境での実践が容易だろう。LAN上でのローカル開発が可能ならば不要だが、筆者と同じようなトラブルに陥った場合には試してみる価値があるかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.