FB.XFBML.parse () - единственная доступная функция для повторного анализа XFBML, и вы можете либо передать ему элемент DOM в качестве отправной точки, либо ничего не передавать, и он будет анализировать весь ваш объектСтруктура DOM.
Поскольку это ваши единственные варианты, я бы посоветовал вам изменить ваш вызов Ajax.Вместо того чтобы вызов Ajax напрямую вставлял ваши новые элементы в их окончательное расположение в DOM, затрудняя их повторный анализ, почему бы не создать <div>
(или какой-либо другой элемент), загрузить в него содержимое, извлеченное Ajax, и затемпозвонить FB.XFBML.parse()
на <div>
перед перемещением содержимого в соответствующее место?Вы можете скрыть <div>
и использовать второй параметр обратного вызова функции разбора для выполнения перемещения:
//do Ajaxy stuff here to insert new content into hidden div 'foo'
FB.XFBML.parse(document.getElementById('foo'), function() {
document.getElementById('yourContent').innerHTML += document.getElementById('foo').innerHTML;
});
Я некоторое время не выполнял Javascript, поэтому извините за любой вопиющий синтаксис, но, надеюсь, выполучить идею.