У Facebook в настоящее время есть обработчики событий для событий Facebook, такие как / рекомендовать. Но это доступно только для xfbml-версии кода. Поскольку facebook больше не поддерживает fbml / xfbml (http://www.allfacebook.com/facebook-markup-language-support-ends-jan-1-2011-12) как мы слушаем события в iframes? Вы не можете использовать методы javascript для прослушивания идентификаторов onclick и т. Д., Особенно для iframes, принадлежащих facebook / twitter. Существуют ли другие решение этого?
Спасибо, но,
Спасибо. Я уже использую новый Javascript SDK. Прокрутите вниз для моего кода, но я предполагаю, что это работает только для "xfbml" версии кода для кнопки "Нравится" на Facebook? То же самое относится и к iframes? Предположение, основанное на этом тексте 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);
}());