2011-06-14 2 views
9

Длинные и короткие: комментарии Facebook не отображаются при загрузке с другой страницы в стиле лайтбокса через jQuery.load(). FB comments : отображается при переходе непосредственно на страницу, загруженную в лайтбокс.jQuery load() и Facebook Комментарии

Лайтбокс - это специальная сделка, которую я написал в jQuery, которая загружает почтовый контейнер DIV со страницы постоянной ссылки сообщения. Чтобы узнать, что происходит, посетите http://frank.is/blog/. Используйте основную ссылку для просмотра сообщения в лайтбокс и нажмите PERMA →, чтобы увидеть сообщение на своей собственной странице. Он должен быть понятным.

Мой вопрос: что мне нужно добавить, чтобы эти комментарии отображались и в лайтбокс?

ответ

26

это в вашем Выход вызова AJAX:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script> 
<fb:comments href="www.example.com" num_posts="2" width="500"></fb:comments> 

<script>FB.XFBML.parse();</script> 

Должно работать нормально!

+3

FB.XFBML.parse(); Ты гений! Вместо того, чтобы делать то, что вы написали, я добавил FB.XFBML.parse(); после звонка ajax –

+0

Если бы я мог дать вам сто upvotes, я бы =) –

+0

Миллион upvotes !!! –

5

Facebook API меня раздражает. Непонятно, где получить информацию, чтобы я чувствовал вашу боль.

С учетом сказанного кажется, что у вас есть необработанный XFBML в лайтбокс. Похоже, вам нужно повторно обработать данные после их загрузки.

<fb:comments migrated="1" publish_feed="true" width="600" numposts="10" href="http://frank.is/blog/2011/05/26/google-apps-on-iphone-connection-to-the-server-failed/" xid="VQ4yhN59hJmmSXq_post73"></fb:comments> 

Вы можете попробовать вручную вызов parse после загрузки XFBML в осветитель:

FB.XFBML.parse(); 

или целевой компонент для оптимизации нагрузки:

FB.XFBML.parse(document.getElementById('fbComments')); 
+0

Я положил его в функцию обратного вызова load() безрезультатно. Разве я не помещаю это в нужное место? – Frank

+0

Я только что заметил, что вы не загружаете или не инициализируете свой JDK Facebook на целевой странице. У вас есть это на отдельной странице сообщений. Вам нужно загрузить и инициализировать JDK Facebook, а затем вручную заставить синтаксический анализ, когда вы загружаете комментарий XFBML. – digitaldreamer

Смежные вопросы