重新访问动态页面时,Facebook评论将消失

Facebook Comments disappear when re-visiting dynamic page

本文关键字:Facebook 评论 消失 新访问 访问 动态      更新时间:2023-09-26

我在AJAX驱动的网站上持续显示Facebook评论时遇到问题。我网站的每个动态页面都有Facebook评论。Facebook评论显示在第一次访问页面时,但当我离开页面并返回页面时,Facebook评论将不再显示。如果我刷新页面,那么Facebook评论将重新出现,但当我导航离开并返回同一页面时,它们仍然会消失。我觉得这个问题与insertBefore()的第二次调用有关。有人能为这个问题提出解决方案吗?以下是我的代码:

我的代码:

<div class="comments-detail-view">
        <div id="fb-root"></div>
        <script type="text/javascript">
                (function(d, s, id) {
                    var js, fjs = d.getElementsByTagName(s)[0];
                    js = d.createElement(s); js.id = id;
                    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=xxxxxxxxxx";
                    fjs.parentNode.insertBefore(js, fjs); //  **insertBefore()**
                }(document, 'script', 'facebook-jssdk'));  
        </script>
        <div class="fb-comments" data-href="UNIQUE DYNAMIC URL" ></div>
</div>

尝试使用函数重新解析。在这个例子中,我可以通过触发函数并使用xfbml进行解析来重新加载带有注释框的fbcDIV。


<div id="fbc"></div>
<script>
function comments(){
var lb=document.getElementById('fbc');
lb.innerHTML='<div class="fb-comments" data-href="UNIQUE DYNAMIC URL" ></div>';
FB.XFBML.parse(lb);
};
</script>