[Silverlight] 當麻許的Phone7筆記 - 21.使用WebBrowser 做Facebook分享(WebBrowser Control)

2011/04/01

這個元件超級好用的,變化無限..

黃忠成老師之前分享過非常詳細的WebBrowser 控件的使用..

Windows Phone 7 Web Browser 控制項應用 Part 1
Windows Phone 7 Web Browser 控制項應用 Part 2

這兩篇其實已經很詳細的敘述他的強大..
這邊我就敘述一下如何做到Facebook 上面的分享…
看一下畫面配置:

blog-78


我們放入一個WebBrowser 的控件 並且點下 btnShare 後就會進入分享流程..

如果不知道WebBrowser可以點一 下Visual Studio.net 旁邊的工具箱 並且把他拉進去…
blog-80

來看一下 按下分享按鈕後會做啥動作:


 
private void btnShare_Click(object sender, RoutedEventArgs e)
{
//這一行很重要這樣他才可以使用Javascript
wbMain.IsScriptEnabled = true;
//完成後所呼叫的事件
wbMain.Navigated += wbMain_Navigated;
 
//欲分享的網址
string url = "http://app2.mallgic.com/cart2cht/tf.aspx?p=5d600276-d84e-4fc3-bdc6-c08d5000bad7";
 
//如果要分享的話 在手機上面是 http://m.facebook.com/sharer.php?u= + 網址
wbMain.Navigate(new Uri("http://m.facebook.com/sharer.php?u=" + url, UriKind.Absolute));
}

裡面的重點就是 http://m.facebook.com/sharer.php?u= + 網址 這一個是專門使用在mobile 的世界的分享網址語法

如果有問題可以參考 Facebook 的文件


再來看一下關於 Web Browser 導覽完網頁後的處理…
 
 
void wbMain_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
//因為分享成功後往只會包含posted_id
if(wbMain.Source.ToString().Contains("posted_id"))
{
//成功的話就把 Web Browser  藏起來
wbMain.Visibility = Visibility.Collapsed;
//顯示分享成功訊息
MessageBox.Show("已分享完成!!");
//並且把按鈕功能失效
btnShare.IsEnabled = false; 
}
}

這樣就大功告成了..
因為分享成功後他的網址會有 posted_id 的字串所以可以判斷並且把WebBrowser給隱藏起來…

blog-76

如果對方沒有登入他會要求登入..
blog-79

分享的畫面:
blog-81


這樣整合Facebook 你的app可以擁有更多的變化..

讚一下:



下載檔案:


0 意見:

程式 . 生活 . D小調.@2010 | Binary Design: One Winged Angel.