【问题标题】:Facebook comments iframe - updating when there is no page refresh (e.g. AJAX)Facebook 评论 iframe - 在没有页面刷新时更新(例如 AJAX)
【发布时间】:2012-04-09 09:39:52
【问题描述】:

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

我正在尝试使用 Facebook cmets,我已经成功地将其用于访问者登陆的第一页。当访问者导航到第二个页面时,我正在尝试更新 cmets 框以与下一个“页面”相关。

请看我下面的代码:

<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();">

基本上我会在页面加载时为页面生成一个唯一的 URL,并将其传递给 Facebook cmets 脚本。这个函数然后填充 cmets div onload。

我正在触发 facebookcmets();当有人单击以转到播放列表上的下一个项目时起作用。我希望 innerHTML 函数可以简单地将当前的 cmets 集替换为新“页面”的相关集,但是,它完全消失了。

任何帮助将不胜感激。

【问题讨论】:

    标签: html ajax facebook dynamic comments


    【解决方案1】:

    在您的页面添加 Facebook 元素后,您需要调用FB.XFBML.parse()

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 2014-07-11
      • 1970-01-01
      • 2012-04-30
      • 2013-03-20
      • 1970-01-01
      相关资源
      最近更新 更多