2011-07-08 61 views

回答

3

Facebook已棄用Fan Box(2009年推出),贊成新的Like Box。雖然每個功能都相似,但它們使用不同的JavaScript API。

你仍然可以用你自己的外部CSS編輯customize the appearance of the Fan Box,但目前還不清楚Facebook將持續支持這種能力的時間。

下面是一些示例FBML代碼顯示了風扇框如何接受外部CSS:

<div id="fb-root"></div> 
<fb:fan 
    profile_id="104818966496" 
    backgroundshow_faces="true" 
    stream="false" 
    header="false" 
    connections="8" 
    css="http://example.com/css/stylesheet.css?1310162522"> 
</fb:fan> 

<script> 
    // Initialize Facebook JavaScript SDK 
    // http://developers.facebook.com/docs/reference/javascript/FB.init 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId: '136570223089806', 
     xfbml: true 
     }); 
    }; 

    // Asynchronously Load Facebook Fan Box Social Plugin 
    (function() { 
     var e = document.createElement('script'); 
     e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
     e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

有些事情要記住:

  • 您的自定義CSS將通過Facebook的內容渲染服務器進行過濾並需要面向公衆。 (也就是說,您必須將CSS文件上傳/編輯到Web服務器,以測試進行更改時的外觀)。
  • 建議在開發過程中將查詢字符串追加(並更新)到您的CSS,因爲Facebook會大量緩存您的CSS。進行更改後,更新您的查詢字符串變量以指示Facebook獲取樣式表的新副本。

Facebook將爲您的所有HTML/CSS/JS元素添加一個使用您的應用程序ID創建的「命名空間」的前綴。通過這樣做,Facebook可以確保您的CSS無法操作標準的Facebook元素和佈局。

請注意,並非所有的CSS屬性和選擇器都是允許的,Facebook將從您的CSS中移除許多CSS3規則。

雖然最令人沮喪的是,Facebook似乎刪除允許一些供應商的前綴,而不允許其他人。例如,Facebook刪除Webkit供應商前綴(-webkit-border-radius),但允許使用Mozilla前綴(-moz-border-radius)。煩!

這意味着圓角,陰影和其他供應商特定的CSS可能不會出現在您的自定義Facebook Fan Box的所有瀏覽器中。 因此,儘可能地嘗試,您可能無法讓您的Facebook Fan Box在所有瀏覽器中看起來都一樣。

+1

這剛剛停止工作,Facebook不再將自定義CSS應用於Like Box – Radu