2012-01-09 3 views
1

В настоящее время в Facebook есть обработчики событий для событий facebook, например, как/рекомендовать. Но это доступно только для версии кода xfbml. Поскольку facebook больше не поддерживает fbml/xfbml (http://www.allfacebook.com/facebook-markup-language-support-ends-jan-1-2011-12), как мы можем слушать события на iframe? Вы не можете использовать методы javascript для прослушивания идентификаторов onclick и т. Д., Esp для iframes, принадлежащих facebook/twitter. Есть ли другое решение?Если facebook больше не поддерживает fbml/xfbml и обработчики событий, предоставленные для них, то какова альтернатива для iframe?

Спасибо, но

Спасибо. Я уже использую новый Javascript SDK. Прокрутите вниз для моего кода, но я предполагаю, что это работает только для «xfbml» версии кода для facebook как кнопка? делает то же самое применимо и для iframes? Предположение на основе этого текста на http://developers.facebook.com/docs/reference/plugins/like/:

XFBML (также доступна в HTML5-совместимой разметке) более универсальна, но требует использования JavaScript SDK. XFBML динамически перестраивает свою высоту в зависимости от того, есть ли изображения профиля для отображения, дает вам возможность (через библиотеку Javascript) прослушивать подобные события, чтобы вы знали в реальном времени, когда пользователь нажимает кнопку «Like», и он всегда дает пользователю возможность добавлять необязательный комментарий к подобному. Если пользователи добавляют комментарий, история, опубликованная в Facebook, получила больше внимания.

window.fbAsyncInit = function() { 

    FB.init ({ 
    appId  : ,// App ID 
    channelUrl : ,// Channel File 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true // parse XFBML 

    }); 

    // Listen to click event 
     FB.Event.subscribe('edge.create', function(response) { 
    // Do something, e.g. track the click on the "Like" button here 
     $('#someDiv').show(); 

    }); 

}; 

// Load the SDK Asynchronously 
(function() { 
var e = document.createElement('script'); 
e.type = 'text/javascript'; 
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
e.async = true; 
document.getElementById('fb-root').appendChild(e); 
}()); 

ответ

1

Да, вы можете подписаться на события, используя новый Javascript SDK. См. Здесь: https://developers.facebook.com/docs/reference/javascript/ и https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

+0

вкратце .. эти события работают только для xfbml .. и если xfbml не будет поддерживаться, есть ли другая работа для iframe? – WannaLearn

+0

Нет, эти подписки на события работают для действий FB.ui. Прочтите https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/. Единственным событием, на котором вы можете подписаться на xfbml, является xfbml.render, который не применим в вашей ситуации. \ – DMCS

+0

попробовал код кнопки «как» iframe и попытался прослушать с кодом, отправленным вверх, и он не захватить подобное событие, но это происходит, когда я использовал код xfbml. – WannaLearn