為每個網頁加入FB按讚

之前有寫過該如何取得FB按讚的程式碼,

只要把程式碼貼上去就可以讓自己的網頁也可以有按讚的功能了。

不過如果每篇文章都要修改一次網址其實有點麻煩,

所以我就用javascript自己寫個程式來讓網頁自動抓網址,

再加上joomla的強大功能,我只要把程式放進HTML自訂模組中,

再把模組插進文章中,這下子輕鬆多了。

//前面這段都還是FB的程式碼

<div id="fb-root">&nbsp;</div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/zh_TW/all.js#xfbml=1&appId=199765470066589";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script><div>
 
/*
原本要顯示讚的地方要貼上下面這行,要改成用javascript輸出網址
<fb:like href="網址" send="true" width="450" show_faces="true"></fb:like> <div //id="fb_recommend" style="float:left">
1. 我的FB讚後面有接百度的推廣,所以我讓讚的按鈕float: left ,讓他可以跟百度推廣同一行
2. 使用location.href 來取得網址字串,再用split("#")把可能會出現的苗點去掉
3. 如果你網址後面有不一的參數,卻指向同一個網頁,可能也會需要去掉
4. float完記得要clear,不然後面排版可能會亂掉
*/
 
<div id="fb_recommend" style="float:left">
FB推薦載入中&nbsp;&nbsp;</div>
<script type="text/javascript">
var myx=location.href;
var myy=myx.split("#");
var myfb_recommend=document.getElementById("fb_recommend");
myfb_recommend.innerHTML='<div id="fb-root"></div><fb:like action="recommend" font="arial" href="'+myy[0]+'" layout="button_count" send="true" show_faces="true" width="450"></fb:like>&nbsp;&nbsp;';
</script>
 
要注意的是:
1.  舊版的IE 需要為其加上命名空間才能正常運作,不過就算加了 IE 7顯示出來也不太正常。
     <html xmlns:fb="http://ogp.me/ns/fb#">
2.  如果有很多不同的網址都指向同個網頁,那每個網址的讚不會算再一起,
     不過以SEO的觀點來看,不同網址指向同樣網頁其實不好,
     搜尋網站可能會以為你有很多複製的網頁。
 
 
 

  按個讚!~支持本站!~

FB推薦載入中