Facebook в настоящее время имеет обработчики событий для событий Facebook, таких как нравится/рекомендует. Но это доступно только для версии кода xfbml. Поскольку facebook больше не поддерживает fbml/xfbml (http://developers.facebook.com/docs/reference/plugins/like/) как мы прослушиваем события в iframe? Вы не можете использовать методы javascript, прослушивающие идентификаторы onclick и т. д., особенно для фреймов, принадлежащих facebook/twitter. Есть ли другое решение для этого?
Спасибо, но,
Спасибо. Я уже использую новый Javascript SDK. Прокрутите вниз мой код, но я предполагаю, что это работает только для версии кода «xfbml» для кнопки «Нравится» на Facebook? то же самое относится и к iframe? Предположение основано на этом тексте на http://developers.facebook.com/docs/reference/plugins/like/:
Версия XFBML (также доступна с разметкой, совместимой с HTML5) более универсальна, но требует использования JavaScript SDK. XFBML динамически изменяет свою высоту в зависимости от того, есть ли изображения профиля для отображения, дает вам возможность (через библиотеку Javascript) прослушивать подобные события, чтобы вы знали в реальном времени, когда пользователь нажимает кнопку «Нравится». , и это всегда дает пользователю возможность добавить необязательный комментарий к лайку. Если пользователи добавляют комментарий, история, опубликованная на 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);
}());