Вопрос

Я использую Pyfacebook в своем приложении, но у меня возникают проблемы с отображением XFBML, например, мне приходится использовать iframes для отображения как кнопки или похожие на поля.

Что странно: 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 на официальный FB One, заявление больше не работает. (например, я не могу выходить из строя, используя это

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

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

Это было полезно?

Решение

Я думаю, что вы сбиваете с толку Facebook Старый JavaScript API с их Новый JavaScript API.

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

<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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top