Facebook评论iframe - 在没有页面刷新时更新(例如AJAX)

时间:2012-03-25 18:20:40

标签: html ajax facebook dynamic comments

当访问者导航到其他页面时,我有一个没有页面刷新的网站(该网站的功能类似于hotornot.com)。

我正在尝试使用Facebook评论,我已经设法在访问者登陆的第一页上使用它。当访问者导航到第二页时,我正在尝试更新评论框以与下一个“页面”相关。

请参阅下面的代码:

<head>
    <script type="text/javascript">
        function facebookcomments() {
            fbdiv = document.getElementById("fbcm");
            fbdiv.innerHTML = '<div id="fb-root"></div>';
            (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/en_US/all.js#xfbml=1&appId=343149849069221";
                fjs.parentNode.insertBefore(js, fjs);
            }(document, 'script', 'facebook-jssdk'));
            hard_url = "http://www.example.com/usernames/" + thisusername + "/" + thisitem;
            showcomments = document.getElementById("show_comments");
            showcomments.innerHTML = '<div id="fb-comments" class="fb-comments" data-href="' + hard_url + '" data-num-posts="2" data-width="470" mobile="false"></div>';
        }
    </script>
</head>
<body onload="facebookcomments();">

基本上,当页面加载并将其传递到Facebook评论脚本时,我会为页面生成一个唯一的URL。然后,此函数将填充注释div onload。

我正在触发facebookcomments();当有人点击进入播放列表中的下一个项目时起作用。我希望innerHTML函数可以简单地换出当前的注释集,并为新的“页面”设置相关的设置,但是,它会完全消失。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

在您的网页上添加Facebook元素后,您需要致电FB.XFBML.parse()

在函数的最后一行添加该函数调用,你应该没问题。