ガジェットのタイトルをプログラムから設定する場合に指定するもの。
使えるメソッドは、
gadgets.window.setTitle(title)
のみ。
_IG_SetTitle
という名前でもコールできる。
で、やってみる。
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="settitleフィーチャー">
<Require feature="settitle"/>
</ModulePrefs>
<Content type="html" view="canvas,profile,home">
<![CDATA[
<script type="text/javascript">
function init() {
gadgets.window.setTitle('ああああ');
}
function changeTitle(form) {
_IG_SetTitle(form.inputbox.value);
}
gadgets.util.registerOnLoadHandler(init);
</script>
<FORM NAME="myform" ACTION="" METHOD="GET"><BR>
<INPUT TYPE="text" NAME="inputbox" VALUE="">
<INPUT TYPE="button" NAME="button" Value="Add" onClick="changeTitle(this.form)">
<INPUT TYPE="button" NAME="button2" Value="Clear" onClick="clearList(this.form)">
</FORM>
<div id="content_div"></div>
]]>
</Content>
</Module>
初期表示時にgadgets.window.setTitleを使ってタイトルを設定。
フォームから入力されると、_IG_SetTitleを使ってタイトルを設定。
ちゃんと動いた。
このメソッドも、結局は、gadgets.rpc.call(null,'set_title', null, title)な感じで
rpc経由。
rpc経由でコールされる側のメソッドでは、
gadgets.IfrGadgetService.prototype.setTitle = function(title) {
var element = document.getElementById(this.f + '_title');
if (element) {
element.innerHTML = title.replace(/&/g, '&').replace(/</g, '<');
}
};
となっているので、タイトルを出力したいところのidは
ガジェットを表示するiframeの名前+'_title'
とする必要がある。もちろんShindigデフォルトの場合。
そんだけ。
.
0 コメント:
コメントを投稿