2010-10-13 1 views
1

Я использую pyfacebook для своего приложения, но у меня проблемы с отображением xfbml Например, я должен использовать iframe для отображения, например, кнопок или подобных ящиков.Проблема с отображением xfbml с pyfacebook

Что странно: 1) На странице входа появляется значок правильно, я просто проблемы на другие страницы (после входа в)

2) Часть FB.init я использую

<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script> 
<script type="text/javascript">FB.init("{{ apikey }}", '/static/xd_receiver.html'); 

в то время как на facebook документах аргументов:

FB.init({ 
    appId : 'YOUR APP ID', 
    status : true, // check login status 
    cookie : true, // enable cookies to allow the server to access the session 
    xfbml : true // parse XFBML 
}); 

3) Когда я изменить FB.init к официальному фбу один, приложение больше не работает. (например, я не могу Bхода в системе с помощью этого

<a href="#" onclick="javascript:FB.Connect.logoutAndRedirect('/')">Logout</a> 

Я относительно новый для FB вещей, так что я, вероятно, Путает, но я просто хочу, чтобы отобразить правильный FBML на моем приложении без изменения слишком много .. на стороне сервера

ответ

1

Я думаю, что вы путаете Facebook, old javascript API с их new javascript API

Как уже упоминалось на новой странице API, использовать это, чтобы сделать INIT:

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({appId: 'your app id', status: true, cookie: true, 
      xfbml: true}); 
    }; 
    (function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

Для выхода из системы вы хотели бы что-то вроде этого:

<a href="#" onclick="javascript:FB.logout(function(response) {window.location.href = '/';})">Logout</a>