ガジェットのユーザ毎の設定(UserPref?)をガジェットから扱える機能を追加するもの。
使えるメソッドは、
- gadgets.Prefs.set(key, value)
と
- gadgets.Prefs.setArray(key,value)
のみ。
setArrayの方は、valueに文字列か数値の配列を指定する。
指定された配列は'|'によって連結され保存される。
setprefsフィーチャに関係なくgadgets.Prefsの読み込み系は使える。
で、やってみる。
- <?xml version="1.0" encoding="UTF-8" ?>
- <Module>
- <ModulePrefs title="setprefsフィーチャー">
- <Require feature="opensocial-0.8" />
- <Require feature="setprefs" />
- </ModulePrefs>
- <UserPref name="counter" default_value="0" datatype="hidden"/>
- <Content type="html" view="canvas,profile,view">
- <![CDATA[
- <div id="content_div" style="height: 100px;"></div>
- <script type="text/javascript">
- var prefs = null;
- var html = "";
- var div = '';
- function incrementCounter() {
- var count = prefs.getInt("counter");
- div.innerHTML = "The count is " + count + ".";
- prefs.set("counter", count + 1);
- }
- function resetCounter(){
- prefs.set("counter", 0);
- div.innerHTML = "Count reset to " + prefs.getInt("counter") + ".";
- }
- function init() {
- prefs = new gadgets.Prefs();
- html = "";
- div = document.getElementById('content_div');
- var count = prefs.getInt("counter");
- div.innerHTML = "The count is " + count + ".";
- }
- gadgets.util.registerOnLoadHandler(init);
- </script>
- <input type=button value="Count" name="count" onClick="incrementCounter()">
- <input type=button value="Reset" name="reset" onClick="resetCounter()">
- ]]>
- </Content>
- </Module>
な感じ。
Googleのgadgets APIリファレンスを参考、というかほぼそのまま使用した。
これは、もう何度もやっているので、動作する。
cookieに保存する場合はサンプルがあるので、コンテナ側で設定する必要あり。
そんだけ。
.
0 コメント:
コメントを投稿