2011-01-14 2 views
1

У меня есть два различных механизма на моем сайте, используя как XFBML и FBJS:# XFBML = 1, вызывающие проблемы

  • в FB: Как тег для отдельных записей
  • объект FB для facebook логинов с FB Connect

Моя проблема в том, что я включаю «all.js» на странице, скрипт входа работает, но тег fb: like не работает.

Когда я включаю «all.js # xfbml = 1», теги fb: like снова работают, но теперь мой объект FB не определен, и мой код входа не работает.

Есть ли что-то, что мне не хватает?

Заранее благодарим за любую помощь, которую вы можете дать.

ответ

1

Вам нужно всего лишь включить ссылку на сценарий один раз и вызвать init в скрипте при загрузке страницы. Вы можете использовать это для кнопок fb: like или login.

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    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 
    }); 
</script> 

Ключом к этому является установка XFBML истинным (это то, что # XFBML = 1 делает). Если у вас нет этого набора, подобные кнопки не будут отображаться.

Если вы хотите подписаться на событие входа в систему просто добавьте следующий скрипт после FB.init() вызов:

FB.Event.subscribe('auth.login', function(response) { 
    window.location.reload(); // or something else... 
    }); 

И здесь будет ваш Логин сценарий увольняют только когда пользователь нажимает на ссылка, кнопка и т.д.

function doLogin() { 
    FB.login(function(response) { 
    if (response.session) { 
     if (response.perms) { 
     // user is logged in and granted some permissions. 
     // perms is a comma separated list of granted permissions 
     } else { 
     // user is logged in, but did not grant any permissions 
     } 
    } else { 
     // user is not logged in 
    } 
    }, {perms:'read_stream,publish_stream,offline_access'}); 
} 
+0

I _do_ включать только одного или другого, но вставка в 1 версию ломает другую. – matthewdunnam

0

Добавить эту Xmlns в свой тег HTML

xmlns:fb="http://www.facebook.com/2008/fbml" 

и включают в себя «all.j s "

Смежные вопросы