Translate

2011年10月19日 星期三

facebook來按個讚吧!!(讚在目前的網頁)

動態網頁,讚在目前的網頁>W<b

<iframe style="width: 450px; height: 100px; overflow: hidden" src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=35" frameborder="0" scrolling="no"></iframe>

<?php echo urlencode(get_permalink($post->ID)); ?>→這一段可以替換成你要連的網頁


繼續補充☝上面☝(,FE無蝦米)

不知為何~有所參數會設一樣,而且iframe怎麼看都怎麼怪…

又到網路去逛逛
發現這篇寫的很詳細→http://www.died.tw/2010/09/facebook-social-plugins-like-button.html
不過因為寫到是用.Master的關係,老是會在script當機,吐血

然後又繼續找,找到一個可以直接讀目前的…
http://zhidao.baidu.com/question/212191117.html?fr=qrl&cid=93&index=5
<fb:like href='javascript:window.location.href' send="false" width="450" show_faces="true" font=""></fb:like>


這個也不行!!!!!T_T ~


後來發現救星出現了~★
http://www.elure.com.au/43_facebook-like-button-dynamic-url-javascript.htm


噹噹~


將下面這一段放在你的aspx要顯示GJ的地方,就行了T_T~



<script src="http://connect.facebook.net/zh_TW/all.js#appId=&amp;xfbml=1"></script>
<fb:like id="fb" href="www.asdf.com" send="false" width="450" show_faces="false" font=""></fb:like>
<script type="text/javascript">
      var sUrl = window.location;
      document.getElementById('fb').setAttribute('href', sUrl);
</script>


上面的方法,好像會遇到一個問題:按完之後,發佈留言版~恩~之前有找過,有空再補


再另外追加,另外發現如果使用的話,可能會有留言版擋住的擾人問題,後來又改了目前合理的版本
首先在aspx拉出一個Label:
 <asp:Label ID="FBGJ" runat="server" Text=""></asp:Label>


然後在cs



//動態的網址
string strurl = @"//www.facebook.com/plugins/like.php?href=" + Page.Request.Url.GetLeftPart(UriPartial.Query) + @"&amp;";


//固定的iframe
 FBGJ.Text = "<iframe src=" + strurl + ";layout=box_count&amp;width=50&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=verdana&amp;height=65\" " +
                                     "scrolling=\"no\" frameborder=\"0\" " +
                                     "style=\"border-style: none; border-color: inherit; border-width: medium; overflow:hidden; width:316px; height:65px;\" " +
                                     "allowtransparency=\"true\"></iframe>";


解決…XD




貼完了語法之後,才發現使用者留言的發佈不是我們想要的內容,這時後就要追加meta檔上去,不然預設會是依title為主

//標題

        HtmlMeta titleEle = new HtmlMeta();
        titleEle.Attributes.Add("property", "og:title");
        titleEle.Attributes.Add("content", "這是標題");
        Page.Header.Controls.Add(titleEle);


        //下面的文字介紹
        HtmlMeta urltype = new HtmlMeta();
        urltype.Attributes.Add("property", "og:description");
        urltype.Attributes.Add("content", "放你想要說的詳細內容"));
        Page.Header.Controls.Add(urltype);

        //Image
        HtmlMeta imgEle = new HtmlMeta();
        imgEle.Attributes.Add("property", "og:image");
        imgEle.Attributes.Add("content", "縮圖檔(這很重要,不然會亂抓= =)");
        Page.Header.Controls.Add(imgEle);



另外,小心一點的就是,只要一有人按like,發佈之後的網址,接下來的留言內容就不會再更動了(這大概是fb為了防止一直存取所做的機制)不過有時後蠻捶心肝就是了…

沒有留言:

張貼留言