2011-08-02 66 views
1

我在我的網站(標準iframe版本,而不是XFBML)上使用Facebook的「贊」按鈕(http://developers.facebook.com/docs/reference/plugins/like/),並希望它浮動在頁面文本(內聯)中。問題在於,按鈕可以有多種狀態,具體取決於你是否「喜歡」你自己,有多少喜歡,語言等,並且每個狀態的寬度都不同。我希望按鈕的iframe的大小隻與iframe的內容一樣大,從而允許按鈕在內部浮動而不會產生難看的間距。我找到的每個解決方案都涉及固定iframe或周圍DIV的寬度。調整Facebook的「贊」按鈕iframe以適應內容

注意:此問題不是How can I make the Facebook Like button's width automatically resize?的重複。我想不固定但動態寬度。

回答

4

我遇到了同樣的問題。造成這種困難的原因是,你不能在包含來自不同域的頁面的iframe的內容上使用javascript。

這只是一個部分的解決方案,但這可能有一定的幫助。您可以確定多少次頁面已經被「喜歡」和調整使用JavaScript(使用jQuery如圖所示)的風格相應:

jQuery(document).ready(function($) { 
    var shareUrl = window.location.href; 

    $.getJSON('http://graph.facebook.com/?id=' + escape(shareUrl) + '&callback=?', function(data) { 
     if (data.shares) { //if the tip of the day has been "liked" at least once 
      $('#fblike').addClass('hasLikes'); 
     } 

    }); 
}); 

例造型:

#fblike.hasLikes iframe { 
    width: 87px !important; 
} 

你可以同樣獲得其他的資料從Facebook Graph可以幫助您確定寬度,或者創建您自己的自定義顯示代碼(儘管至少您仍然需要使用提供的「Like」按鈕本身的iFrame;您只需關閉所有臨時演員)