2010-07-13 4 views

ответ

24

Да, вторым параметром является функция обратного вызова. Например, это должно работать:

FB.XFBML.parse(document.getElementById('some_element'), function() { 
    alert('I rendered'); 
}); 
+1

Да, это также описано в [документации] (https://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse) – czerasz

8

Чтобы разобрать всю страницу, в то же время

FB.XFBML.parse(document, function(){ 
    alert('I rendered'); 
}); 
1

В 2013 это не работает. Google Chrome будет «мигать», как кнопки, пока он не будет окончательно отображен для меня. Это событие вызывается до выполнения рендеринга.

Чтобы проверить это, я пытаюсь скрыть контейнер, перед которым есть похожие кнопки (это прекрасно работает). Затем я тестирую, чтобы показать контейнер в function() { });FB.XFBML.parse, вот когда он выглядит, как только что загруженные кнопки мигают.

Только наличие этой проблемы в google chrome, но это доказывает, что это не так, как кнопки закончили рендеринг в google chrome по крайней мере.

+0

Я могу оценить, что у вас могут возникнуть проблемы с воспроизведением (и Facebook точно не имеет лучшей документации по API), но для того, что стоит, функция callback * сама * срабатывает для меня так, как я ожидал. (Моя ситуация - это блог с бесконечным прокруткой, где я добавляю комментарии iframe после загрузки каждого сообщения и, похоже, он запускается правильно каждый раз, когда он добавляется в DOM). –