メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2009年7月31日金曜日

[Apache Shindig][お勉強][OpenSocial] メモ113 setprefsフィーチャー

ガジェットのユーザ毎の設定(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 コメント: