- У меня есть функция, которая загружает аккордеон jquery ui (различные аккордеоны на основе разных идентификаторов)
Когда я нажимаю на вкладку «Комментарии Facebook», я делаю:
$("#myaccordion").bind('accordionchange', function(event, ui) { id = $("#myaccordion").data('id'); switch (ui.newHeader.text()) { case "Facebook Comments": displayFb(id); break; } });
Функция «displayFB»:
function displayFb(id){ $.get('/fbcomments/' + id, function(data) { $("#facecomm").append(data); }); }
Где www.myweb.com/fbcomments/id:
<div id="fb-root"></div> <script>(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/es_ES/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> <div class="fb-comments" data-href="<?php echo '/fbcomments/'.$id ?>" data-num-posts="10" data-width="220"></div>
Когда я загружаю домашнюю страницу, затем выбираю аккордеон, затем открываю комментарии Facebook, все работает отлично. Если я перезагружу страницу и выберу другой аккордеон, снова все будет работать идеально. Проблема в том, что я выбираю другой аккордеон или то же самое снова без перезагрузки всей страницы. Аккордеоны загружаются очень хорошо, все данные на них (некоторые вкладки с изображениями, текстом, видео и т. д.), но комментарии facebook не появляются.
Я старался:
- loading the
#fb-root
and facebook comment<script>
on the main layout....doesn't work. - добавление
FB.XFBML.parse();
в функцию displayFB.... не работает - добавление
FB.XFBML.parse();
в$(document).ready(function(){}
... не работает.
- loading the
Спасибо, что читаете и пытаетесь помочь!!
ОБНОВЛЕНИЕ:
Я сделал эту маленькую демонстрацию... Я не могу заставить ее работать... возможно, jsfiddle - не лучшее место для вставки комментариев Facebook: Моя первая скрипка
Возможно, важно сказать, что я использую cakephp на своем сайте...
Пожалуйста, помните, что мой код отлично работает при первом вызове аккордеона и функции displayFb... затем, когда я переключаюсь на другой аккордеон... происходит сбой...
Еще раз спасибо!
ОБНОВЛЕНИЕ 2:
- Это еще один вопрос пользователя.... очень похожий на мой. Пожалуйста, обратите внимание, что он не использует аккордеон... но в общем jquery.... может быть, кто-то лучше меня поймет ответ...