- 我有一个加载 jquery ui 手风琴的功能(基于不同 id 的不同手风琴)
当我点击标题为“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 评论。
我试过了:
- 在主布局上加载
#fb-root
和 facebook 评论<script>
....不起作用。 - 添加
FB.XFBML.parse();
到 displayFB 功能....不起作用 - 添加
FB.XFBML.parse();
到$(document).ready(function(){}
...不起作用。
- 在主布局上加载
感谢您阅读并尝试提供帮助!
更新:
我做了这个小演示......我无法让它工作......也许 jsfiddle 不是插入 Facebook 评论的最佳位置:我的第一个小提琴
也许重要的是说我在我的网站上使用 cakephp ......
请记住,我的代码在第一次手风琴调用和 displayFb 函数时运行良好……然后当我更改为其他手风琴时……它崩溃了……
再次感谢你!!
更新2:
- 这是用户的另一个问题....与我的非常相似。请注意,他没有使用手风琴……但 jquery 是共同的……也许有人比我更能理解答案……