На существующей странице есть код для работы со старым API REST:
jQuery(document).ready( function() {
FB_RequireFeatures(["Connect", "XFBML"], function() {
FB.init('12345678ABCDEF','/xd_receiver.html', {ifUserNotConnected: fb_user_not_connected}); // real key replaced by 12345678ABCDEF
, которая должна поддерживать «Войти через Facebook» и кнопку «Поделиться», чтобы поделиться историей в Facebook.
Если добавлен следующий код для нового Graph API
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '123456', status: true, cookie: true, // real appId replaced by 123456
xfbml: true});
};
jQuery(document).ready( function() {
(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>
тогда перестали работать «Поделиться» и «Войти через Facebook». Я понимаю, что каждый код вызывает свой FB.init()
, один с двумя строками и одним объектом, а другой вызывает FB.init () только с одним объектом. Один переопределяет другой FB.init ()?
Некоторые люди думают, что это не может работать:
http://forum.developers.facebook.net/viewtopic.php?id=66057
Может ли Javascript SDK Facebook работать вместе со старым API Facebook?
и некоторые люди, которые думают, что могут:
http://forum.developers.facebook.net/viewtopic.php?pid=278718#p278718
http://github.com/mmangino/facebooker2/issues/closed#issue/18