#javascript #jquery #facebook #comments
#javascript #jquery #Facebook #Комментарии
Вопрос:
Я создаю веб-сайт для демонстрации некоторых фотографий. Фотографии просматриваются с использованием эффекта, подобного лайтбоксу. Я хочу добавить комментарии facebook внутри «лайтбокса», но комментарии не загружаются.
$(функция() {
$('.pics').click(function(){
...
...
$(".comments").html("<div id="fb-root"></div><script src="http://connect.facebook.net/en_US/all.js#xfbml=1">" "<" "/" "script>" "<fb:comments href="example.com" num_posts="5" width="800"></fb:comments>");
});
});
Заранее спасибо.
Ответ №1:
Я думаю, вам следует сначала попробовать отрендерить комментарии, но сделать их невидимыми. Что-то вроде:
<div id="comments" class="hidden">
<fb:comments href="example.com" num_posts="5" width="800"></fb:comments>
</div>
Предположим, что скрытый класс делает div
невидимым.
Теперь с помощью кода JavaScript вы должны быть в состоянии сделать это:
$(".pics").click(function(){
$("#comments").show();
});
Я еще не тестировал это, и есть вероятность, что Facebook не загрузит комментарии в невидимый элемент. Если это так, вам может сойти с рук его рендеринг и добавление hidden
класса после загрузки страницы, хотя может возникнуть мерцание.
Комментарии:
1. спасибо за вашу помощь. Это работает отлично. Но я придумал кое-что другое… вы видите, когда я добавляю <script src=» connect.facebook.net/en_US/all.js#xfbml=1 «></script > только в теге head, тогда комментарии не загружаются. Но когда я добавляю скрипт как в тег head, так и внутри функции «лайтбокс» (как показано в вопросе), тогда это работает! Хотя я не знаю, почему.
2. Вы все еще пишете
<script/>
тег с помощью document.write()?3. Я включаю их
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
в<head>
раздел html. И я также пишу то же самое,<script/>
используяjquery.html()
, когда я вызываю lightbox.
Ответ №2:
Я думаю, вам стоит попробовать этоhttp://www.zemgo.net23.net/lightbox.html