<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Horn Network &#187; Google</title>
	<atom:link href="http://klcin.tw/net/tag/google/feed" rel="self" type="application/rss+xml" />
	<link>http://klcin.tw/net</link>
	<description>Horn Network (.NET, ASP.NET, C#, VB.NET, JavaScript, Ubuntu, Android ...)</description>
	<lastBuildDate>Fri, 04 Mar 2011 07:25:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>用 ASP.NET 製作 Google gadget</title>
		<link>http://klcin.tw/net/aspnet-google-gadget</link>
		<comments>http://klcin.tw/net/aspnet-google-gadget#comments</comments>
		<pubDate>Thu, 14 Aug 2008 13:10:18 +0000</pubDate>
		<dc:creator>klcintw</dc:creator>
				<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Google Gadget]]></category>
		<category><![CDATA[檔案下載]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://klcin.tw/net/?p=59</guid>
		<description><![CDATA[緣起： 客戶要求將現有網站部份資訊製作成 Google Gadget（Google 小工具）並希望在短時間內能夠上線使用，以求績效。 在考量時間不多且缺乏開發 gadget 經驗，決定採用 Google小工具API上所建議【將現有網頁或應用程式轉變為小工具】的方式來實作。 在客戶多次變更需求的過程中累積一些開發心得記錄下來和大家分享。 本文將集中在 ASP.NET 程式(.cs)和網頁(.aspx)部份，其它 gadget 相關技術資訊請自行參考 Google API 文件。 讀寫使用者的設定值 動態調整 gadget 高度 Base Class 基礎類別 下載 baseGadget.cs 。 default.xml 組態檔 8. &#60;Require feature=&#34;setprefs&#34; /&#62; 表示 gadget 要有「使用者偏好設定」功能。[API文件] 9. &#60;Require feature=&#34;dynamic-height&#34; /&#62; 表示 gadget 要有「動態高度」功能。[API文件] 11,15,17. 本例中所使用的3種資料型態 enum,list,hidden。[API文件] default.aspx.cx 程式 public partial class _Default : // [...]]]></description>
			<content:encoded><![CDATA[</p>
<h2><a href="http://klcin.tw/net/wp-content/uploads/2008/08/snap022.png"><img title="google gadget" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="google gadget" src="http://klcin.tw/net/wp-content/uploads/2008/08/snap022-thumb.png" width="178" align="right" border="0" /></a> 緣起：</h2>
<p>客戶要求將現有網站部份資訊製作成 Google Gadget（Google 小工具）並希望在短時間內能夠上線使用，以求績效。</p>
<p>在考量時間不多且缺乏開發 gadget 經驗，決定採用 Google小工具API上所建議【<a href="http://www.google.com/intl/zh-TW/apis/gadgets/fundamentals.html#Existing" target="_blank">將現有網頁或應用程式轉變為小工具</a>】的方式來實作。</p>
<p>在客戶多次變更需求的過程中累積一些開發心得記錄下來和大家分享。</p>
<p>本文將集中在 ASP.NET 程式(.cs)和網頁(.aspx)部份，其它 gadget 相關技術資訊請自行參考 <a href="http://code.google.com/apis/gadgets/docs/dev_guide.html" target="_blank">Google API 文件</a>。</p>
<ul>
<li>讀寫使用者的設定值 </li>
<li>動態調整 gadget 高度 </li>
</ul>
<p> <span id="more-59"></span><br />
<h2>Base Class 基礎類別</h2>
<p><a href='http://www.box.net/shared/gzjyqkea49' target='_blank'>下載 baseGadget.cs</a> 。</p>
<h2>default.xml 組態檔</h2>
<p><a href="http://klcin.tw/net/wp-content/uploads/2008/08/snap020.png"><img title="default.xml" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="179" alt="default.xml" src="http://klcin.tw/net/wp-content/uploads/2008/08/snap020-thumb.png" width="402" border="0" /></a> </p>
<p>8. &lt;Require feature=&quot;setprefs&quot; /&gt; 表示 gadget 要有「使用者偏好設定」功能。[<a href="http://www.google.com.tw/intl/zh-TW/apis/gadgets/reference.html" target="_blank">API文件</a>]     <br />9. &lt;Require feature=&quot;dynamic-height&quot; /&gt; 表示 gadget 要有「動態高度」功能。[<a href="http://www.google.com.tw/intl/zh-TW/apis/gadgets/ui.html#Dyn_Height" target="_blank">API文件</a>]     <br />11,15,17. 本例中所使用的3種資料型態 enum,list,hidden。[<a href="http://www.google.com/intl/zh-TW/apis/gadgets/fundamentals.html#Datatypes" target="_blank">API文件</a>]</p>
<h2>default.aspx.cx 程式</h2>
<p>
<pre class="brush: c#">public partial class _Default :
    // 繼承 baseGadget 類別
    klcintw.network.google.gadget.baseGadget
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // 取得Google相關功能的 js library
        base.RegisterGadgetScriptInclude();
        // 使用動態調整高度的功能
        base.DynamicHeight();

        // 輸出各取得設定值
        Response.Write(string.Format(&quot;tEnum = {0}&lt;br /&gt;&quot;,
            base.prefs_getString(&quot;tEnum&quot;)));
        Response.Write(string.Format(&quot;tList = {0}&lt;br /&gt;&quot;,
            base.prefs_getString(&quot;tList&quot;)));
        Response.Write(string.Format(&quot;tHidden = {0}&lt;br /&gt;&quot;,
            base.prefs_getString(&quot;tHidden&quot;)));
    }
}
</pre>
</p>
<h2>default.aspx 網頁</h2>
<p>
<pre class="brush: html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head runat=&quot;server&quot;&gt;
    &lt;title&gt;Horn Network&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
body {font-size:10pt;}
input.button {width:100px;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;hr size=&#039;1&#039; /&gt;
&lt;a href=&quot;http://klcin.tw/net&quot;&gt;Google Gadget with ASP.NET 示範&lt;/a&gt;
&lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;
&lt;hr size=&#039;1&#039; /&gt;
&lt;table style=&quot;font-size:8pt;&quot; width=&quot;100%&quot;&gt;&lt;tr&gt;&lt;td&gt;
prefs.getString(&#039;XXX&#039;)&lt;br /&gt;
&lt;input type=&quot;button&quot; class=&#039;button&#039; value=&quot;tEnum&quot; onclick=&quot;alert(prefs.getString(&#039;tEnum&#039;));&quot; /&gt;&lt;br /&gt;
&lt;input type=&quot;button&quot; class=&#039;button&#039; value=&quot;tList&quot; onclick=&quot;alert(prefs.getString(&#039;tList&#039;));&quot; /&gt;&lt;br /&gt;
&lt;input type=&quot;button&quot; class=&#039;button&#039; value=&quot;tHidden&quot; onclick=&quot;alert(prefs.getString(&#039;tHidden&#039;));&quot; /&gt;&lt;br /&gt;
&lt;/td&gt;&lt;td&gt;
_args()[&#039;up_XXX&#039;]&lt;br /&gt;
&lt;input type=&quot;button&quot; class=&#039;button&#039; value=&quot;tEnum&quot; onclick=&quot;alert(_args()[&#039;up_tEnum&#039;]);&quot; /&gt;&lt;br /&gt;
&lt;input type=&quot;button&quot; class=&#039;button&#039; value=&quot;tList&quot; onclick=&quot;alert(_args()[&#039;up_tList&#039;]);&quot; /&gt;&lt;br /&gt;
&lt;input type=&quot;button&quot; class=&#039;button&#039; value=&quot;tHidden&quot; onclick=&quot;alert(_args()[&#039;up_tHidden&#039;]);&quot; /&gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;hr size=&#039;1&#039; /&gt;
編輯tHidden欄位：&lt;input type=&quot;text&quot; id=&quot;txtHidden&quot; value=&#039;&lt;%=prefs_getString(&quot;tHidden&quot;)%&gt;&#039; /&gt;
&lt;input type=&quot;button&quot; value=&quot;儲存&quot; onclick=&quot;fnSave();&quot; /&gt;

&lt;input type=&quot;hidden&quot; id=&quot;tHidden&quot; name=&quot;tHidden&quot; value=&#039;&lt;%=prefs_getString(&quot;tHidden&quot;)%&gt;&#039; /&gt;
    &lt;/form&gt;
&lt;/body&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var prefs = new _IG_Prefs();
function fnSave() {
    _gel(&#039;tHidden&#039;).value = _gel(&#039;txtHidden&#039;).value;
    prefs.set(&quot;tHidden&quot;, _gel(&#039;tHidden&#039;).value);

    window.setTimeout(reloadGadget, 2000);
}
function reloadGadget() {
    _gel(&#039;form1&#039;).submit();
}
&lt;/script&gt;
&lt;/html&gt;</pre>
</p>
<h3>在 client 端讀取「使用者偏好設定」的方法</h3>
<ol>
<li>_args()['<strong><font color="#ff0000">up_</font></strong>tEnum']); // 要在變數前面加 up_ </li>
<li>var prefs = new _IG_Prefs();      <br />prefs.getString(&#8216;tEnum&#8217;); </li>
</ol>
<h3>在 client 端寫入「使用者偏好設定」的方法</h3>
<ul>
<li>var prefs = new _IG_Prefs();      <br />prefs.set(&quot;tHidden&quot;, ‘123’); </li>
</ul>
<h3>在 client 端動態調整高度的方法</h3>
<ul>
<li>_IG_AdjustIFrameHeight(); // 需要調整高度時即呼叫 </li>
</ul>
<h4>備註：</h4>
</p>
<ol>
<li>其實 gadget 的所有參數都是由 url 傳遞的，如：      <br /><textarea>http://textar.twbbs.org/Gadget/default.aspx?up_tEnum=1&amp;upt_tEnum=enum&amp;up_tList=123%7CASD%7C%E6%96%87%E5%AD%97&amp;upt_tList=list&amp;up_tHidden=%E4%B8%AD%E6%96%87TEST&amp;upt_tHidden=hidden&amp;lang=zh-TW&amp;country=us&amp;.lang=zh-TW&amp;.country=us&amp;synd=ig&amp;mid=148&amp;ifpctok=6871384243896489231&amp;parent=http://www.google.com&amp;libs=NHtl9J3jsts/lib/libcore.js,_LVLbGtgvkY/lib/libdynamic-height.js,MJLTofH-Kpk/lib/libsetprefs.js</textarea>       <br />所以參數資料量是有限制的。 </li>
<li>為了讓 client 端（用 javascript）變更的設定值能傳回 server 端，必須要 post 回去。      <br />而此時就不能從 url 讀設定值因為不會變。       <br />所以要在 html 放一個 hidden 存放新的設定值回傳 server ，程式再從這個欄位讀取新值。 </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://klcin.tw/net/aspnet-google-gadget/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[WLW]配合WPvideo使用的Windows Live Writer Plug-in</title>
		<link>http://klcin.tw/net/wlw-plugin-wpvideo</link>
		<comments>http://klcin.tw/net/wlw-plugin-wpvideo#comments</comments>
		<pubDate>Fri, 04 Jul 2008 09:26:40 +0000</pubDate>
		<dc:creator>klcintw</dc:creator>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Windows Live Writer]]></category>
		<category><![CDATA[檔案下載]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[metacafe]]></category>
		<category><![CDATA[myvideo]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WPvideo]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://klcin.tw/net/?p=6</guid>
		<description><![CDATA[WPvideo 簡介： Author: SKaRCHa｜Plugin Site: WPvideo 它可以用[video]http://www.youtube.com/watch?v=osTrMe76kes[/video]這樣的型式在網誌中加入影片。 目前（1.10）支援：youtube.com, video.google.com, video.yahoo.com, www.myvideo.es, www.metacafe.com等影音平台。 其他網站介紹：wordpress.com.tw » Blog Archive » WPvideo 其他網站介紹：活人的幻想世界 » WPvideo &#8211; 在你的部落格內插入影片 其他網站介紹：[外掛] WordPress 對 Youtube 的外掛程式 » Partner Studio WordPress Plugin : 請先到這裡下載並安裝WPvideo的plugin。 Windows Live Writer Plugin : 請先下載 WPvideo.dll 然後複製到 C:\Program Files\Windows Live Writer\Plugins目錄。 啟動Windows Live Writer程式後應該可以看到右下角會多一個項目，如下圖。 用滑鼠點「Insert WPvideo」後會出現如下的畫面： 輸入影片網址再勾選你要的選項然後按「插入程式碼」即可。]]></description>
			<content:encoded><![CDATA[<h2>WPvideo 簡介：</h2>
<ul>
<li>Author: <a href="http://www.skarcha.com/">SKaRCHa</a>｜Plugin Site: <a href="http://www.skarcha.com/wp-plugins/wpvideo/#english">WPvideo</a></li>
<li>它可以用<code>[video]http://www.youtube.com/watch?v=osTrMe76kes[/video]</code>這樣的型式在網誌中加入影片。</li>
<li>目前（1.10）支援：youtube.com, video.google.com, video.yahoo.com, www.myvideo.es, www.metacafe.com等影音平台。</li>
<li>其他網站介紹：<a href="http://www.wordpress.com.tw/wp/?p=33" target="_blank">wordpress.com.tw » Blog Archive » WPvideo</a></li>
<li>其他網站介紹：<a href="http://www.sonax2k.com/php/wordpress/?p=166" target="_blank">活人的幻想世界 » WPvideo &#8211; 在你的部落格內插入影片</a></li>
<li>其他網站介紹：<a href="http://patw.idv.tw/blog/archives/47/" target="_blank">[外掛] WordPress 對 Youtube 的外掛程式 » Partner Studio</a></li>
</ul>
<p><span id="more-6"></span><br />
<h2>WordPress Plugin :</h2>
<ul>
<li>請先到<a title="WPvideo" href="http://www.skarcha.com/wp-plugins/wpvideo/#english" target="_blank">這裡</a>下載並安裝WPvideo的plugin。</li>
</ul>
<h2>Windows Live Writer Plugin :</h2>
<ol>
<li>請先下載 <a href="http://www.box.net/shared/vy7jsgftw0" target="_blank"><strong>WPvideo.dll</strong></a> 然後複製到 <strong>C:\Program Files\Windows Live Writer\Plugins</strong>目錄。</li>
<li>啟動Windows Live Writer程式後應該可以看到右下角會多一個項目，如下圖。<br />
<a href="http://klcin.tw/net/images/WLWWPvideoWindowsLiveWriterPlugin_EFDC/snap069.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" title="Insert WPvideo" src="http://klcin.tw/net/images/WLWWPvideoWindowsLiveWriterPlugin_EFDC/snap069_thumb.png" border="0" alt="Insert WPvideo" width="205" height="276" /></a></li>
<li>用滑鼠點「Insert WPvideo」後會出現如下的畫面：<br />
<a href="http://klcin.tw/net/images/WLWWPvideoWindowsLiveWriterPlugin_EFDC/snap070.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://klcin.tw/net/images/WLWWPvideoWindowsLiveWriterPlugin_EFDC/snap070_thumb.png" border="0" alt="" width="469" height="216" /></a></li>
<li>輸入影片網址再勾選你要的選項然後按「插入程式碼」即可。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://klcin.tw/net/wlw-plugin-wpvideo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

