ページ

ラベル Gadget の投稿を表示しています。 すべての投稿を表示
ラベル Gadget の投稿を表示しています。 すべての投稿を表示

2011年3月22日火曜日

iGoogle Gadget -18

■ カウントダウンカレンダーです。
■ 指定期日を設定します。
■ 当日と指定日前後の期間ではそれぞれ表示を変えています。
■ 背景色が選べます。
■ サンプルです。 




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="カウントダウン" title_url="http://www5d.biglobe.ne.jp/~pog/" height="100" scrolling="false" />
   <UserPref name="targetDay" display_name="タイトルの設定" default_value="試作品の発表" datatype="string" />
   <UserPref name="year" display_name="年" default_value="2010" datatype="string" />
   <UserPref name="month" display_name="月" default_value="12" datatype="string" />
   <UserPref name="day" display_name="日" default_value="6" datatype="string" />
   <UserPref name="mycolor" display_name="Color" default_value="Lime" datatype="enum">
     <EnumValue value="Red" />
     <EnumValue value="Aqua" />
     <EnumValue value="Lime" />
     <EnumValue value="Yellow" />
     <EnumValue value="Pink" />
     <EnumValue value="Orange" />
     <EnumValue value="White" />
</UserPref>
  <Content type="html">
  <![CDATA[
<div id="bg">
<style type="text/css">
div#date{
padding-left:0;
font-size:11px;
font-weight:400;
color:skyblue;
}
</style>
<div id="date">
<SCRIPT type="text/JavaScript"><!--

now = new Date();
str = now.getFullYear()+"/";
str+= now.getMonth()+1+"-";
str+= now.getDate()+"";
document.write(str + "/");

now = new Date();
str = now.getHours()+":";
str+= now.getMinutes()+"";
document.write(str);

//--></SCRIPT>
</div>

  <script type="text/javascript">
    var prefs = new gadgets.Prefs();
    var element = document.getElementById('bg');
    element.style.height=150;
    element.style.backgroundColor=prefs.getString("mycolor");
</script>

<script language="JavaScript"><!--

function xDay(y){

    var prefs = new gadgets.Prefs();
    var y = prefs.getString("year");
    var m = prefs.getString("month");
    var d = prefs.getString("day");
    var theDay = prefs.getString("targetDay");
    var html ="";

    var now = new Date();
    var point = new Date(y,m-1,d);
    var countdown = Math.ceil( ( point.getTime() - now.getTime() ) / (1000*60*60*24) );
    var countup = 0 - countdown;

    var before;
    var today;
    var after;
    var html = document.getElementById("DisplayxDay");

if(countdown > 0) {
   before =  document.write('<h2><font color="orange">' + countdown + '日前だよ!' + '</h2></font>');
  }
else if(countdown == 0) {
   today= document.write('<h2><font color="blue">' + '今日だよ!' + '</h2></font>');
  }
else {
   after= document.write('<h2><font color="red">' + countup + '日過ぎちゃった!' + '</h2></font>');
  }

}

    html.innerHTML += "before + today + after";

// -->
</script>

<div id="DisplayxDay"></div>
<p align="center" />

<u>__UP_targetDay__の日 ; __UP_year__年__UP_month__月__UP_day__日</u>

<div style="text-align:center" />
<script type="text/javascript">
xDay()
</script>
</div>
  ]]>
  </Content>
</Module>

2011年3月21日月曜日

iGoogle Gadget -17

■ タブ付きガジェットです。

■ ガジェットが縦長になるのを避けたい時には活用したい方法です。

■ Googleでは4通りのタブ利用の方法を示しています。詳しくはこちら "Googleを追いかけろ"で。

■ 下はこのページ上部のラジオリンクガジェットに利用したファイルの一部です。




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Tabs Demo" height="140" scrolling="true" >
    <Require feature="tabs" />
  </ModulePrefs>
  <Content type="html">
  <![CDATA[

    <script type="text/javascript">
    var tabs = new gadgets.TabSet(__MODULE_ID__, "one_id");
    function init() {
        var one_Id = tabs.addTab('<div style="color: red; font-weight: bold; background-color:#ccf;">Jazz</div>');//タブ名設定
        document.getElementById(one_Id).innerHTML = "タブの追加時にタブ名を設定します";
//タブ内のコンテンツ

        tabs.addTab("Classical", { //addTabの引数で2つ目のタブのIDを作成
           contentContainer: document.getElementById("two_id")
        });

        tabs.addTab("Rock", {   //コールバックを利用
           contentContainer: document.getElementById("three_id"),
           callback: callback,
           tooltip: "ツールチップも作れます"          //ツールチップの作成
        });

        tabs.addTab("Others", {          
           contentContainer: document.getElementById("four_id"),
           callback: callback,          
           tooltip: "I'm special"          //ツールチップの作成
        });
    }

    function callback(tabId) {     //three,four用callback
      var p = document.createElement("p");
      var selectedTab = tabs.getSelectedTab();
      p.innerHTML = "RockとOthersタブ用にコールバックを利用して動的コンテンツを作成しています " + selectedTab.getName();
      document.getElementById(tabId).appendChild(p);
    }

    gadgets.util.registerOnLoadHandler(init);
    </script>

   <div id="two_id" style="display:none">2つ目のタブの内容</div>
   <div id="three_id" style="display:none">3つ目のタブの内容</div>
  ]]>
  </Content>
</Module>


■ 下は実際に使用しているファイルです。




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="世界のインターネットラジオを聴こう/mini" title_url="http://www.radio-oh.com/" height="125" scrolling="true" >
    <Require feature="tabs" />
  </ModulePrefs>
  <Content type="html">
  <![CDATA[

    <script type="text/javascript">
    var tabs = new gadgets.TabSet(__MODULE_ID__, "Jazz");
    function init() {

        tabs.addTab("Classical", {
           contentContainer: document.getElementById("Classical"),
           tooltip: "I'm Classical!"
        });

        tabs.addTab("Jazz", {
           contentContainer: document.getElementById("Jazz"),
           tooltip: "I'm Jazz!"
        });

        tabs.addTab("Rock", {
           contentContainer: document.getElementById("Rock"),
           tooltip: "I'm Rock!"
        });

        tabs.addTab("Others", {          
           contentContainer: document.getElementById("four_id"),
           callback: callback,          
           tooltip: "I'm Others!"      
        });
    }


    function callback(tabId) {
      var p = document.createElement("p");
      var selectedTab = tabs.getSelectedTab();
      p.innerHTML = ""
      document.getElementById(tabId).appendChild(p);
    }

    gadgets.util.registerOnLoadHandler(init);
    </script>

<div id="Classical" style="display:none">
   <div style="text-align:center;font-size:11;background-image: url('http://www5d.biglobe.ne.jp/~pog/img/classical.gif');height:95;">
      <br /><b>listen
      <a href="http://www.classical102.com/listen.pls"><font color='green'>".pls"</font></a> -
      <a href="http://www.classical102.com/listen.asx"><font color='green'>".asx"</font></a> -
      <a href="http://www.classical102.com//listen.ram"><font color='green'>".ram"</font></a> -
      <a href="http://www.classical102.com/" target="_blank"><font color='green'>home</font></a>
      </b><br />
      <font color="green">      ======================================</font>
      <br /> <b> - Classical 102 - </b> Grolmanstr. Berlin, Germany
      <br /> THE First CLASS IN MUSIC.
      <br /><font color="green">      ======================================</font>
   </div>
</div>

<div id="Jazz" style="display:none">
   <div style="text-align:center;font-size:11;background-image: url('http://www5d.biglobe.ne.jp/~pog/img/jazz.gif');height:95;">
      <br /><b>
      <a href="http://den-a.plr.liquidcompass.net/pls/KSDSFMMP3.pls"><font color='purple'>"listen KSDSFMMP3.pls 128k"</font></a> -
      <a href="http://www.jazz88online.org/" target="_blank"><font color='purple'>home</font></a>
      </b><br />
      <font color="purple">      ======================================</font>
      <br /> <b> - KSDS - </b> San Diego City College
      <br /> Your Connection to the Artists in San Diego.
      <br /><font color="purple">      ======================================</font>
   </div>
</div>

<div id="Rock" style="display:none">
   <div style="text-align:center;font-size:11;background-image: url('http://www5d.biglobe.ne.jp/~pog/img/rock.gif');height:95;">
      <br /><b>listen
      <a href="http://freebird.gotdns.com:8000/listen.pls"><font color='red'>".pls"</font></a> -
      <a href="http://www.freebirdradio.com/hiro/station3.pls"><font color='red'>".pls"</font></a> -
      <a href="http://www.freebirdradio.com/hiro/station2.asx"><font color='red'>".asx"</font></a> -
      <a href="http://www.freebirdradio.com/hiro/station2.ram"><font color='red'>".ram"</font></a> -
      <a href="http://www.freebirdradio.com/" target="_blank"><font color='red'>home</font></a>
      </b><br />
      <font color="red">      ======================================</font>
      <br /> <b> - Freebird Radio - </b> Tokyo Japan
      <br /> Serving you the Best Classic Rock 24 hours a day!.
      <br /><font color="red">      ======================================</font>
   </div>
</div>

</div>

<div id="four_id" style="display:none">
   <div style="text-align:center;font-size:11;background-image: url('http://www5d.biglobe.ne.jp/~pog/img/others.gif');height:95;">
      <br /><b>listen
      <a href="http://listen.housetime.fm/dsl.pls"><font color='brown'>".pls"</font></a> -
      <a href="http://listen.housetime.fm/dsl.asx"><font color='brown'>".asx"</font></a> -
      <a href="http://listen.housetime.fm/dsl.ram"><font color='brown'>".ram"</font></a> -
      <a href="http://www.housetime.fm/" target="_blank"><font color='brown'>home</font></a>
      </b><br />
      <font color="brown">      ======================================</font>
      <br /> <b> - HouseTime.FM - </b> rare core
      <br /> Playlist mit Mixed Style.
      <br /><font color="brown">      ======================================</font>
   </div>
</div>

  ]]>
  </Content>
</Module>

2011年3月19日土曜日

iGoogle Gadget -16

■ ガジェットについての使用上の案内、ガイド、情報などに活用できるメッセージを表示します。

■ スタイルシートの設定をします。

■ サンプルです。 




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="UIメッセージ-6-step-14" height="150" scrolling="false">
  <Locale lang="ja" country="jp"/>
  <Require feature="minimessage"/>
</ModulePrefs>
  <Content type="html">
  <![CDATA[
<style>
.mmlib_table {
  width: 100%;
  font: normal 11px arial,sans-serif;
  background-color: #000066;
  border-collapse: separate;
  border-spacing: 0px;
  padding: 1px 0px;
  color:#ffffff;
  }
.mmlib_xlink {
  font: normal 1.1em arial,sans-serif;
  font-weight: bold;
  color: #0000cc;
  cursor: pointer;
  }
</style>
<p />
<div style="text-align:left;font-size:13px;">
【メッセージ-6】
<br />
* デフォルトのスタイルシートを上書きしてカスタマイズします。
</div>

<script type="text/javascript">

  var msg = new gadgets.MiniMessage(__MODULE_ID__);
  var div = document.createElement("div");
  msg.createDismissibleMessage("スタイルシートによるカスタマイズです。");

</script>
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!" title="Googleを追いかけろ!" target="_blank"><img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>
  ]]>
  </Content>
</Module>

2011年3月17日木曜日

iGoogle Gadget -15

■ ガジェットについての使用上の案内、ガイド、情報などに活用できるメッセージを表示します。

■ メッセージ個々の表示を変えたい場合はHTML要素のスタイルプロパティを設定します。

■ サンプルです。 




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="UIメッセージ-5-step-13" height="150" scrolling="false">
  <Locale lang="ja" country="jp"/>
  <Require feature="minimessage"/>
</ModulePrefs>
  <Content type="html">
  <![CDATA[
<div style="text-align:left;font-size:13px;">
【メッセージ-5】
<br />
* 個々の表示を変えたい場合はHTML 要素のスタイルプロパティを設定します。
<br />
* 位置指定をしないとメッセージはトップにきます。
</div>

<script type="text/javascript">

  var msg = new gadgets.MiniMessage(__MODULE_ID__);
  var statusMsg = msg.createDismissibleMessage("背景色と文字色を変えています。");
  statusMsg.style.backgroundColor = "red";
  statusMsg.style.color = "white";

</script>

<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!" title="Googleを追いかけろ!" target="_blank"><img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>
  ]]>
  </Content>
</Module>


■ 編集用リンク

2011年3月16日水曜日

iGoogle Gadget -14

■ ガジェットについての使用上の案内、ガイド、情報などに活用できるメッセージを表示します。

■ メッセージ表示を自動的に非表示にするように指定します。

■ サンプルです。




【step-12】
<script type="text/javascript">

// <msg.createTimerMessage> にメッセージとタイムの2つのパラメータを指定します。


var msg = new gadgets.MiniMessage(__MODULE_ID__);
msg.createTimerMessage("5秒後に自動的に非表示になります", 5);

</script>

■ 編集用リンク

2011年3月15日火曜日

iGoogle Gadget -13

■ ガジェットについての使用上の案内、ガイド、情報などに活用できるメッセージを表示します。

■ メッセージの表示位置を <div> を利用して指定します。

■ サンプルです。  




【step-11】
<script type="text/javascript">
  var msg = new gadgets.MiniMessage(__MODULE_ID__);
  msg.createDismissibleMessage(document.getElementById("status"));
</script>
<div id="status" style="color:#B30000;font-size:13;">

* このメッセージは <div>を利用して表示位置を指定しています。
* ユーザーが閉じることはできません。
</div>


■ 編集用リンク

2011年3月13日日曜日

iGoogle Gadget -12

■ ガジェットについての使用上の案内、ガイド、情報などに活用できるメッセージを表示します。

■ 複数メッセージを設定します。サンプルではメッセージは上から順に表示されます。

■ サンプルです。 




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="UIメッセージ-2-step-10" height="150" scrolling="false">
  <Locale lang="ja" country="jp"/>
  <Require feature="minimessage"/>
</ModulePrefs>
  <Content type="html">
  <![CDATA[

<p />
<div style="text-align:left;font-size:13px;">
【メッセージ-2】
<br />
* 複数のメッセージを作成すると上から順に表示されます。
<div>
<div id="messageBox"></div>

<script type="text/javascript">
  var msg = new gadgets.MiniMessage(__MODULE_ID__, document.getElementById("messageBox"));
  msg.createDismissibleMessage("メッセージ -1");
  msg.createDismissibleMessage("メッセージ -2");
  msg.createDismissibleMessage("メッセージ -3");

</script>

<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!" title="Googleを追いかけろ!" target="_blank"><img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>
  ]]>
  </Content>
</Module>

■ 編集用リンク

2011年3月11日金曜日

iGoogle Gadget -11

■ ガジェットについての使用上の案内、ガイド、情報などに活用できるメッセージを表示します。

■ 最も基本となるサンプルからはじめます。

■ 作成されたメッセージはすべて毎回表示されます。

■ ユーザーは確認後に[×]をクリックすることで非表示にできます。
(メッセージは一度非表示にすると、更新しない限り表示されません。)

■ サンプルです。 



<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="UIメッセージ-1-step-9" height="150" scrolling="false">
  <Locale lang="ja" country="jp"/>
  <Require feature="minimessage"/>
    // <Require feature="minimessage"/> を <ModulePrefs>の下におきます。
</ModulePrefs>
  <Content type="html">
  <![CDATA[
<div style="text-align:left;font-size:13px;">
【メッセージ-1】
<p />
* DOMを利用したメッセージの基本形です。
<br />
* ポイントすると背景色が変わります。
</div>
<div id="messageBox"></div>

<script type="text/javascript">
  var msg = new gadgets.MiniMessage(__MODULE_ID__); //MiniMessage オブジェクトをインスタンス化
  var div = document.createElement("div");
  div.innerHTML = "[x] をクリックするとメッセージは閉じます。"; //メッセージの内容
  div.onmouseover = function() { //DOMを利用して背景色を変えるonmouseover
    div.style.backgroundColor = "yellow";
  };
  div.onmouseout = function() {
    div.style.backgroundColor = "";
  };
  msg.createDismissibleMessage(div); //メッセージを作成

</script>
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!" title="Googleを追いかけろ!" target="_blank"><img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>
  ]]>
  </Content>
</Module>



2011年3月10日木曜日

iGoogle Gadget -10

■ 値の保持(状態の保持)には setprefs 機能をガジェットに追加する必要があります。

■ ユーザー設定の値は編集ボックスでユーザー自身が設定できるようにするのが一般的です。

■ ユーザーに入力させる代わりにプログラム的に値を設定した方が便利な場合もあります。

■ URL の制約によりユーザー設定のサイズは 2 K に制限されています(2011/03)

■ サンプルです 




ガジェットには 2 つのボタンがあります。 

1 つはカウンタの値を増やすボタン、もう 1 つはカウンタの値を 0 にリセットするボタンです。 

このサンプルでは、「counter」がユーザー設定です。 
データ型は hidden なので、この値をユーザーが直接変更することはできません。



<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs  title="Setprefs New">
    <Require feature="opensocial-0.8"/> // ソーシャルガジェットの詳細を
    <Require feature="setprefs" /> //setprefs ライブラリを読み込むようガジェットに指示する
  </ModulePrefs>
    <UserPref  name="counter"  default_value="0" datatype="hidden"/>
             //値をプログラム的に設定して永続的に保持したいユーザー設定(通常のデータ型は hidden)

    <Content type="html">
    <![CDATA[
    <div id="content_div" style="height: 100px;"></div>
    <script type="text/javascript">

    var prefs = new gadgets.Prefs();  // preferencesの取得
    var html = "";
    var div = document.getElementById('content_div');
    function incrementCounter() {
      var count = prefs.getInt("counter");
      div.innerHTML = "The count is " + count + ".";
      prefs.set("counter", count + 1);  // "counter"のインクリメント
    }


    // "counter"のリセット
       function resetCounter(){
      prefs.set("counter", 0); // 値を保存したいユーザー設定の JavaScript 関数 set() の呼び出し
      div.innerHTML = "Count reset to " + prefs.getInt("counter") + ".";
    }

    </script>
    <input type=button value="Count" name="count" onClick="incrementCounter()">
    <input type=button value="Reset" name="reset" onClick="resetCounter()">
  ]]>
  </Content>
</Module>

■ 編集用リンク

2011年3月8日火曜日

iGoogle Gadget -9

■ ユーザーがカスタマイズできるようにする-5

■ ユーザーが編集ボックスでガジェットのタイトルを設定できるようにします。(制限2Kまで)

■ 状態を保持したい場合は こちら参考にして下さい。 

■ <Require feature="settitle"/>タグを <ModulePrefs> の下に置きます。

■ サンプルです。   (ユーザー設定タブは利用していません。タイトルをプログラムに組み込んでいます。)




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="タイトル設定のサンプル" height="400">
    <Require feature="settitle"/>
  </ModulePrefs>
  <Content type="html">


  <![CDATA[
    <script type="text/javascript">
     function changeTitle(form) { // タイトル設定のための関数
      var newTitle = form.inputbox.value;
      gadgets.window.setTitle(newTitle); //【gadgets.window.setTitle()】関数の呼び出し
    }
    </script>
<FORM NAME="myform" ACTION="" METHOD="GET">タイトル名を変更します: <BR><BR>
<INPUT TYPE="text" NAME="inputbox" VALUE=""><BR><BR>
<INPUT TYPE="button" NAME="button" Value="Change Title" onClick="changeTitle(this.form)">
</FORM>

<div style="text-align:left;font-size:12px;">
gadgets.window.setTitle() 関数を使用すると、ガジェットのタイトルをプログラムで設定できます。
<p />
 * <b><Require feature="settitle"/></b> タグを <b><ModulePrefs></b> の下に置きます。
<br /> → これでsettitle ライブラリを読み込むようガジェットに指示します。
<p />
 * ガジェットのタイトルを設定するには【gadgets.window.setTitle()】関数を呼び出します。
<p />
 * ユーザーがガジェットのタイトルを設定できるテキスト フィールドを提供します。

<p />
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!"
       title="Googleを追いかけろ!" target="_blank"><
            img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0">
</a>
</div>


■ 編集用リンク

2011年3月7日月曜日

iGoogle Gadget -8

■ ユーザーがカスタマイズできるようにする-4

■ ユーザーが任意の値リストを動的に入力できるようにします。

■ リストデータ型のユーザー設定は、実行時にユーザーから動的に入力される値の配列です。

■ ユーザー設定編集ボックスに値を入力すると、それらの値がリストに追加されます。

■ サンプルです。 


ガジェット上にリストの表示ができるようにします。 ちょっとしたToDoリストや買い物リストのメモとして使えます。
友人や家族と共有すれば利用法がさらに広がりそうです。




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="ユーザー設定-Step-4"
            title_url="http://www5d.biglobe.ne.jp/~pog/" height="400" scrolling="true"/>
  <UserPref name="mylist" display_name="Add Terms" datatype="list" />
         // datatype="list" を使用して宣言

  <Content type="html">
  <![CDATA[
  <div id=content_div></div>

  <script type="text/javascript"> 
    var prefs = new gadgets.Prefs(); //ここはいつもの通り
    var terms = prefs.getArray("mylist"); //今回は配列になってます 
    var html = "";


    if (terms.length == 0)
    {
      html += "買い物リストを作ります。"; //未入力の場合のためのコメント
    }
    else {
      html += "【買い物リスト】:<p />";
      for (var i = 0; i < terms.length ; i++) {
        var term = (terms[i]);
        html += "<font size='2'>" + "* "+ term + " :" + "</font>";
      }
    }
    document.getElementById("content_div").innerHTML = html; 


  </script>

<div style="text-align:left;font-size:13px;padding:10;">
【ステップ-7】
<p />
【ガジェットの作り方 : ユーザー設定-4】

<p />
ガジェット上にリストの表示ができるようにします。
          ちょっとしたToDoリストや買い物リストのメモとして使えます。
<br />
友人や家族と共有すれば利用法がさらに広がりそうです。
<p />
このガジェットはiGoogle用ガジェットの作成方法をまとめています。
<p />
step1~step6までは下記のリンクで。
<p />
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!"
            title="Googleを追いかけろ!" target="_blank">
                 <img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>

</div>
  ]]>
  </Content>
</Module>

■ 編集用リンク

2011年3月6日日曜日

iGoogle Gadget -7

■ ユーザーがカスタマイズできるようにする - 3

■ ガジェットにユーザーの所有する画像を表示(アップ)させます。

■ サンプルです。 




<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="ユーザー設定-Step-3"   title_url="http://www5d.biglobe.ne.jp/~pog/" height="400" scrolling="true"/>
  <UserPref name="userphoto" display_name="Photo" default_value="http://www5d.biglobe.ne.jp/~pog/api/gadget/poh.png"/>
   // イメージ写真(初期値)を指定します。

 <UserPref name="userchoice" display_name="Show Photo?" datatype="bool" default_value="true"/>
  // ここのデータ型は bool です。ユーザー インターフェースにはチェックボックスとして表示されます


  <Content type="html">
  <![CDATA[
<div style="text-align:left;font-size:13px;padding:10;" id="content_div">
【ステップ-6】
<p />
【ガジェットの作り方 : ユーザー設定-3】

<p />
  <script type="text/javascript">
      var prefs = new gadgets.Prefs(); //ここをお忘れなく

     if (prefs.getBool("userchoice") == true) { // チェックボックスの判定
       document.write('<img src="' + prefs.getString("userphoto") + '">');
     }

</script>

<p />
ユーザーに自分用の画像を自由に表示させます。
<p />
このガジェットはiGoogle用ガジェットの作成方法をまとめています。
<p />
step1~step6までは下記のリンクで。
<p />
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!"
   title="Googleを追いかけろ!" target="_blank"><
              img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>

</div>
  ]]>
  </Content>
</Module>


編集用リンク

2011年3月5日土曜日

iGoogle Gadget -6

■ ユーザーがカスタマイズできるようにする - 2

■ ガジェットの背景色をリストから選んで自由に設定できるようにします。

■ ユーザー設定 mycolor のデータ型は enum です。

■ サンプルです。






<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="ユーザー設定-Step-2" title_url="http://www5d.biglobe.ne.jp/~pog/" height="250" />
  // ”title_url=”を指定すると、ガジェットトップに表示されるタイトル名に関連サイトへのリンクを設定できます。

<UserPref name="mycolor" display_name="Color" default_value="Yellow" datatype="enum" >
  // ユーザー設定編集ボックス内のドロップダウン メニューに表示される選択肢を指定します。

     <EnumValue value="Red" />
     <EnumValue value="Aqua" />
     <EnumValue value="Lime" />
     <EnumValue value="Yellow" />
     <EnumValue value="Pink" />
     <EnumValue value="Orange" />
     <EnumValue value="White" />
  </UserPref>

  <Content type="html">
  <![CDATA[
<div style="text-align:left;font-size:13px;padding:10;" id="content_div">
【ステップ-5】
  <script type="text/javascript">
    var prefs = new gadgets.Prefs();
    var element = document.getElementById('content_div');
    element.style.height=250;
    element.style.backgroundColor=prefs.getString("mycolor"); //背景色の設定
</script>
<p />
ここがお約束の Hello, world!です。
<p />
このガジェットは【ガジェットの作り方】をまとめています。
ここにはHTMやJavaScriptの記述ができます。
<p />
もちろん下のように画像の表示もOKです。
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!"
   title="Googleを追いかけろ!" target="_blank">
      <img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>

</div>
  ]]>
  </Content>
</Module>

2011年3月4日金曜日

iGoogle Gadget -5

■ ユーザーがカスタマイズできるようにする - 1

■ ここから先はユーザー設定の方法を探っていきます。利用者のカスタマイズを可能にします。

■ サンプルです。



<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs  height="250" title="ユーザー設定-Step-1" scrolling="false" />
<UserPref name="username1" display_name="Name" default_value="Display-1" />
<UserPref name="username2" display_name="Name2" default_value="Display-2" />

<!--
UserPref セクションで入力フィールドの指定をしてユーザーによるカスタマイズを可能にします。
この設定は永続的に保持されます。
ユーザー設定を「required」(必須) に設定した場合はユーザーがこのフィールドに値を指定せずにガジェットを実行しようとすると、
値が指定されるまでユーザー設定編集ボックスが開いたままになります。


”display_name=”;ユーザー設定画面に表示されるタイトル名を指定します。
-->

  <Content type="html">
  <![CDATA[
<div style="text-align:left;font-size:13px;color:#4682b4;font-weight:600;">
【ユーザー設定-Step1】
 <p /> __UP_username1__  <p />

<!--
username1 に指定された値が、 __UP_myname__  に動的に代入されます。(初期値はDisplay-1)
HTM内に表示する場合はこの形式が”おまじない”になります。
-->

  <script type="text/javascript">
    var prefs = new gadgets.Prefs();
    var DisplayUserName2 = prefs.getString("username2");
    document.write(DisplayUserName2);
  </script>
</div>

<!--
JAvaScript内で利用する場合の例です。(username2の初期値はDisplay-2)
new gadgets.Prefs();で利用が可能になります。
-->


<div style="text-align:left;font-size:13px;">
<p />
ここがお約束の Hello, world!です。
<p />
このガジェットは【ガジェットの作り方】をまとめています。
ここにはHTMやJavaScriptの記述ができます。
<p />
もちろん下のように画像の表示もOKです。
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!"
     title="Googleを追いかけろ!" target="_blank">
            <img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>

</div>

  ]]>
  </Content>
</Module>

■ 編集用ページ

2011年3月3日木曜日

iGoogle Gadget -4

■ STEP3 - 外部のHTMLファイルを表示してみます。

■ すでに公開しているページなどはこれだけで表示できます。

■ コンテンツタイプをURLに変更するだけです。 他はまったく利用しません。

■ ModulePrefsセクションに scrolling="true" を指定するとスクロールバーを利用できます。

■ サンプルです。




<module>
<moduleprefs height="400" title="外部のHTMLファイルを表示してみます-step3">

<content href="http://www.radio-oh.com/ql/index-l.html" type="url">
//表示したいページのURLと type 属性を指定します。

</content></moduleprefs>
</module>



■ 編集用ページ

2011年3月2日水曜日

iGoogle Gadget -3

■ STEP1 - 【お約束の Hello, world!-STEP1】にJavaScriptを追加してみます。
     緑色の部分が前回のものに追加した部分です。

■ サンプルです。 






■ 使用したXMLファイルです。


<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="お約束の Hello,World-step2" height="300" scrolling="false" />
  <Content type="html">
  <![CDATA[
<div style="text-align:left;font-size:12px;">

<Script Type="text/JavaScript"><!--
function convYear(str){
m = str.charAt(0).toUpperCase();
y = eval(str.substring(1,str.length));
if((m=="H")&&(y>0)&&(y<50)) return 1988+y;
if((m=="S")&&(y>0)&&(y<65)) return 1925+y;
if((m=="T")&&(y>0)&&(y<16)) return 1911+y;
if((m=="M")&&(y>0)&&(y<46)) return 1867+y;
}
//--></script>

【ステップ-2】
<p />
ここがお約束の Hello, world!です。
<p />
このガジェットは【ガジェットの作り方】をまとめています。
ここにはHTMやJavaScriptの記述ができます。
<p />
もちろん下のように画像の表示もOKです。
<p align="right" />
<a href="http://www5d.biglobe.ne.jp/~pog/" alt="Googleを追いかけろ!"
     title="Googleを追いかけろ!" target="_blank"><img src="http://www5d.biglobe.ne.jp/~pog/
       img/gapps.png" border="0"></a>
<p />

西暦へ変換します。
<br />
明治;M,大正;T,昭和;S,平成;H,から入力します。(EX;S23)
<form>
<input type="text" name="henkan">
<input type="button" value="変換" onClick="alert('変換後の西暦は' + convYear(this.form.henkan.value) + '年です。')">
</form>

</div>
  ]]>
  </Content>
</Module>

■ カスタマイズ用のページです。

2011年3月1日火曜日

iGoogle Gadget -2

■ ここで作成したものはJavaScriptの利用可能なページであればどこでも公開できます。

■ サンプルです 

■ 使用したXMLファイルです。

<?xml version="1.0" encoding="UTF-8" ?>
//ファイルにガジェットが含まれていることの表示です。
 <Module>
//ギャラリーに登録する場合はタイトル、説明、作者、オプション機能などガジェットに関する情報が必要になります。
 <ModulePrefs title="hello world example" />
 <Content type="html">
// ガジェットのコンテンツ タイプが HTMLであることの表示です。
CDATA 内のテキストを XML として処理しないようにパーサーに指示します。
ここから先は通常、HTML と JavaScript が含まれ、htmlファイルの<body>より下の部分をそのまま記述すればいいわけです。

     <![CDATA[

<div style="text-align:left;font-size:13px;">
【ステップ-1】
<p />
   ここがお約束の Hello, world!です。
<p />
   このガジェットは【ガジェットの作り方】をまとめています。
   ここにはHTMやJavaScriptの記述ができます。
<p />
   もちろん下のように画像の表示もOKです。
<p align="right" />
   <a href="http://www5d.biglobe.ne.jp/~pog/"
     alt="Googleを追いかけろ!" title="Googleを追いかけろ!" target="_blank">
       <img src="http://www5d.biglobe.ne.jp/~pog/img/gapps.png" border="0"></a>
</div>

     ]]>
// コンテンツの終了を表します。
    </Content>
   </Module>


■ 貼り付け用の編集ページも用意してくれます。サンプルはここで手を加えています。
* カスタマイズ用のページです。です。


2011年2月27日日曜日

iGoogle Gadget -1

■ フリーのRSS編集ソフトで作成したXMLファイルをiGoogleに表示させた場合です。
■ この場合のGoogleからの指定フォームのようなものはありません。
■ Bloggerのメインページ上でのガジェットの表示はできないのでイメージを掲載します。
      (Bloggerでのガジェット表示可能なスペース -- 例えばこのページ上部のラジオガジェットなど)

iGoogleのホームに表示した場合です。






iGoogleで個別に表示した場合です。



公開後に”iGoogleへ追加”リンクを設定すると自動的に作成されるページです