2011-08-27 70 views
1

所以我做了一些google'ing,我找不到一個很好的答案。樣式FB.ui的某些元素?

我用下面的代碼,讓我的用戶的狀態更新發布到自己的FB:

<html> 
<head> 
    <title>My Great Website</title> 
</head> 
<body> 
    <div id="fb-root"></div> 
    <script src="http://connect.facebook.net/en_US/all.js"> 
    </script> 
    <script> 
    FB.init({ 
     appId:'**', cookie:true, 
     status:true, xfbml:true 
    }); 

    FB.ui({ method: 'feed', 
     message: 'Facebook for Websites is super-cool'}); 
    </script> 
</body> 

代碼工作正常,但我想擺脫那個可怕的尋找邊界,並設置寬度。我聽說這是不可能的,因爲「起源政策」,但它可以用JavaScript來完成?或者,我是否可以使用自己的自定義腳本來模仿上面的插件,該插件仍然會發布到FB,但是我將對它有更多的控制權?

回答

2

你總是可以建立自己的JS組件,然後用JS-SDK FB.api()方法:

function post_message(body) { 
    FB.api('/me/feed', 'post', { message: body }, function(response) { 
     if (!response || response.error) { 
      alert('Error occured'); 
     } else { 
      alert('Post ID: ' + response.id); 
     } 
    }); 
} 

不過,這將要求用戶實際上是「連接」到你的應用程序。

+0

所以我不得不使用Facebook連接一起嗎? – Charlie

+0

是的,正如你所看到的'我'=當前*連接*用戶。在沒有連接到應用程序的情況下在用戶牆上發佈信息的唯一方法是使用Facbeook插件或對話框,這些插件或對話框無法控制它們的外觀 – ifaour

+0

因此,它看起來像這樣。我會顯示一個帶有發佈按鈕和與Facebook按鈕連接的文本框。當用戶按下連接按鈕時,它會將他們的帳戶連接到我的應用程序。然後它會用他們的用戶ID填充'me'。所有他們必須做的是鍵入並按下提交? – Charlie