目前常用分享按鈕的程式碼 目前常用分享按鈕的程式碼

文章發佈於 : 2010-05-17 11:10:54 | 文章分類 : 程式相關

*網址都需要先經過urlencode

1. 分享到Plurk
<a href="http://www.plurk.com/?qualifier=shares&status=網址 (說明文字)">分享到噗浪</a>

2. facebook like (如果不想要提供一堆資訊給facebook,只要很單純的facebook like button,但是facebook超愛用iframe,這樣的寫法,在apple的行動裝置上都會有問題)
<iframe src="http://www.facebook.com/plugins/like.php?href=網址&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:px"></iframe>

3. facebook like button 進階用法
http://developers.facebook.com/docs/reference/plugins/like

4. 分享到twitter (只是單純的分享,沒有辦法顯示有多少人推)
<a href="http://twitter.com/home?status=標題 網址 via @twitter帳號" title="分享到Twitter" target="_blank">分享到Twitter</a>

5. 分享到twitter (可以顯示有多少人retweet)
請到 http://tweetmeme.com/ 申請一個帳號,然後將code貼上網頁

6. Google Buzz
請到 http://www.google.com/buzz/stuff 拿貼紙,再將code貼上網頁



閱讀全文 | 回 應

如何不讓flash object顯示在最上層 如何不讓flash object顯示在最上層

文章發佈於 : 2010-02-04 23:07:32 | 文章分類 : 程式相關
網頁中加入flash object 例如 youtube embedded 影片雖然可以讓網頁增色不少,但是網頁如果使用類似阿維雜記本最下方的wibiya toolbar相同的特效,也就是在網頁顯示中多加一層div來呈現內容,就會發現flash object會顯示在網頁中最上層。如果使用AJAX整頁鎖定特效,例如像colorbox特效,就會看得更明顯。

[ 範例 ]

1. 我們首先在網頁中加入一個youtube的影片

2. 我們希望當按下連結的時候,會出現下面的畫面


3. 可是事與願違,youtube影片會浮現在最上層擋住我們真正要顯示的內容


這時候我們只需要稍微修改一下flash object就可以達成我們想要的功能了。
如果你所使用的flash object是使用符合W3C XHTML標準的寫法 (請參考讓網頁插入的flash符合W3C XHTML標準),那麼只需要在object 後面加上 <param name="wmode" value="opaque" /> 這段就可以。

如果你所使用的flash object不符合W3C XHTML寫法(目前youtube上面所提供的嵌入語法就是屬於這種),那麼請修改以下兩個部分
1. 在object 後面加上 <param name="wmode" value="opaque" />
2. 在embed 的標籤中加上 wmode="opaque",也就是 <embed wmode="opaque" src=xxxxxxx

透過這樣的修改方法就可以讓flash object不會一直顯示在網頁層次的最上層了。



閱讀全文 | 回 應

用jQuery Highlighter做出燈箱效果 用jQuery Highlighter做出燈箱效果

文章發佈於 : 2009-12-30 00:54:42 | 文章分類 : 程式相關
jQuery Highlighter可以幫我們很輕易的做出多種酷炫的燈箱效果,不管是用在自己的網站或者是公司的網站上面都會有讓人驚艷的感覺。

主要的特色有
1. 支援鍵盤快速鍵:直接透過鍵盤按鍵就可以切換不同的區塊;
2. 可客製化:我們可以客製化出屬於自己想要的燈箱效果;
3. 自動撥放:支援頁面載入後,直接啟動燈箱效果,不需要透過使用者點選後才啟動。

  jQuery Highlighter 官方網站
  jQuery Hightlighter Demo


閱讀全文 | 回 應

讓網頁插入的flash符合W3C XHTML標準 讓網頁插入的flash符合W3C XHTML標準

文章發佈於 : 2009-12-28 00:20:20 | 文章分類 : 程式相關
現在的部落格和許多網站都會使用XHTML,但是在網頁中插入flash格式的內容卻往往忽略掉標準XHTML的規範。但是並不是所有的人都了解這個規範是什麼,而提供連結的網站例如youtube.com也沒有顧慮到這點。不過如果你跟我一樣很介意自己的部落格或者是網站要符合W3C XHTML標準的話,可以按照以下的方式來修改。

下面這段是youtube所提供的轉貼原始碼,紅色部分所使用的embed是不符合規範的tag
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/ljZpu-HvKjY&hl=en_US&fs=1&"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/ljZpu-HvKjY&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed>
</object>

如果要符合W3C的規範我們就必須刪掉embed這個區塊,然後在object後面加上
1. type="application/x-shockwave-flash"
2. data="xxxx",這邊的xxx內容就是原本embed src所包含的部分

修改之後會變成像下面這段,這樣的寫法就有符合W3C XHTML的規範,而且flash也可以正常在網頁上面播放。
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/ljZpu-HvKjY&hl=en_US&fs=1&" width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/ljZpu-HvKjY&hl=en_US&fs=1&"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
</object>

不過最好的方法還是原始提供連結的網站就提供符合標準的連結碼,畢竟不是每個人都了解怎麼修改這些鬼東西的。


閱讀全文 | 回 應

PHPUnit介紹與範例 PHPUnit介紹與範例

文章發佈於 : 2009-12-16 19:53:33 | 文章分類 : 程式相關
程式的測試是很重要的工作,但是要怎麼做出有效率的測試卻不是一件容易的事情,也因此很多開發者都忽略這個部分,認為自己有測試過就好,因此就常常會發生一些詭異的狀況,而開發人員也因為這樣的生態演化出一套應對教戰手則( [轉] 程式為什麼不會動?程式設計師告訴你為什麼!)。

我剛剛找到這個簡報是由PHPUnit開發者所製作的簡報,透過40張簡報教導我們為什麼以及如何使用PHPUnit,希望對各位PHP的開發者有幫助。




閱讀全文 | 回 應

[更新] C#連接MySQL [更新] C#連接MySQL

文章發佈於 : 2009-12-04 11:47:27 | 文章分類 : 程式相關
我在五年前(好久遠...)寫過一篇關於C# 連接 MySQL的文章,由於年代久遠MySQL也更新了相關的DLL,所以舊的程式會發生一些錯誤,因此我更新了這段程式,希望對於有使用C#連接到MySQL的朋友有所幫助。

安裝MySQL Connector
1. 首先請先到MySQL官方網站下載新的Connector:Connector/Net 6.2
2. 安裝完畢之後請開啟你的Visual Studio,點選專案名稱後按右鍵,接著點選Add Reference
MySQL Connector Add Reference

3. 按下Add Reference之後會開啟下面的視窗,切換到Browse頁籤,如果剛剛安裝Connector的時候是使用預設的路徑,那麼請切換到C:\Program Files\MySQL\MySQL Connector Net 6.2.1\Assemblies這個路徑,就可以看到跟我截圖一樣的畫面。
Add Reference MySQL Connector Step 2

4. 根據你的需求選擇要加入的DLL,選好之後按下OK,可以在Solution Explorer看到MySql.Data
Add Reference MySQL Connector Step 4

撰寫程式

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace mysql
{
    class 
Program
    
{
        static 
void Main(string[] args)
        {
            
string dbHost "資料庫位址";
            
string dbUser "資料庫使用者名稱";
            
string dbPass "資料庫使用者密碼";
            
string dbName "資料庫名稱";

            
// 如果有特殊的編碼在database後面請加上;CharSet=編碼, utf8請使用utf8_general_ci
            
string connStr "server="+dbHost+";uid="+dbUser+";pwd="+dbPass+";database="+dbName;
            
MySqlConnection conn = new MySqlConnection(connStr);

            
// 連線到資料庫
            
try
            {
                
conn.Open();
            }
            catch (
MySql.Data.MySqlClient.MySqlException ex) {
                switch (
ex.Number)
                { 
                    case 
0:
                        
Console.WriteLine("無法連線到資料庫.");
                        break;
                    case 
1045:
                        
Console.WriteLine("使用者帳號或密碼錯誤,請再試一次.");
                        break;
                }
            }

            
// 進行select
            
string SQL "select plain from yammer order by id desc limit 0,10 ";
            try
            {
                
MySqlCommand cmd = new MySqlCommand(SQLconn);
                
MySqlDataReader myData cmd.ExecuteReader();

                if (!
myData.HasRows)
                {
                    
// 如果沒有資料,顯示沒有資料的訊息
                    
Console.WriteLine("No data.");
                }
                else
                {
                    
// 讀取資料並且顯示出來
                    
while (myData.Read())
                    {
                        
Console.WriteLine("Text={0}"myData.GetString(0));
                    }
                    
myData.Close();
                }
            }
            catch (
MySql.Data.MySqlClient.MySqlException ex) {
                
Console.WriteLine("Error " ex.Number " : " ex.Message);
            }
        }
    }
}


執行結果,中文也可以正常顯示
C# connect to MySQL Result

如果有任何問題歡迎跟我一起討論


閱讀全文 | 回 應