【问题标题】:Setting Facebook comments web plugin设置 Facebook 评论网页插件
【发布时间】:2011-11-20 20:36:49
【问题描述】:

facebook cmets 插件的默认排序顺序是按社会地位。如何在我的网页上将默认顺序设置为按时间顺序排列

我知道插件顶部有一个选项。但并非所有用户都知道,排序顺序混乱。

【问题讨论】:

    标签: facebook sorting plugins facebook-fql


    【解决方案1】:

    我在谷歌上搜索了很多都没有成功,所以我通过一些逆向工程解决了这个问题......

    1. 使用一些浏览器代码检查器查看 facebook javascript 插入了哪个 iframe,从而将 cmets 插件添加到页面中。复制该 iframe 的 facebook_crazy_url(参见步骤 2)。插入的 iframe 似乎是正确运行 cmets 所需的唯一内容
    2. 摆脱 FB javascript 并插入您自己的 iframe:将 url 设置为“https://www.facebook.com/plugins/comments.php?channel_url=facebook_crazy_url&order_by=reverse_time

    【讨论】:

    • 我试过这个,但它似乎对我不起作用。还有其他人让这个工作吗?目前。
    • 这仅适用于退出 FB 的用户。去图
    • @Jan:我已经在我的网站上尝试过您的解决方案,它确实有效。我只有一个观察结果:我无法根据我在“num_posts”参数上设置的帖子数量动态设置高度。它适用于默认的 Facebook SDK Javascript/HTML 代码,但不适用于这种方法。有什么想法吗?
    • @XpiritO:您可以添加自己的 javascript 来调整 iframe 高度以适应其内容,请参阅答案here。但点击 show more 链接后​​,高度会发生变化。每隔 cca 50 毫秒检查一次 iframe 并再次调整它是我能想到的唯一解决方案。
    【解决方案2】:

    另一个受 Jan Turoň 解决方案启发的选项:

    1. 将您的 fb:cmets 放入 ID 为“cmets”的 div 中:
        <div id="comments"><fb:comments ...></fb:comments></div>
    
    1. 使用jQuery更改生成的iframe的src:
        $('#comments iframe').attr('src', $('#comments iframe').attr('src') + '&order_by=reverse_time')
    

    当然,不用 jQuery 也可以做到这一点。

    它会加载 cmets 的帧两次,但它在所有情况下都可以正常工作,而无需对 iframe 的 src 进行编码。

    【讨论】:

    • ...jQuery 代码需要放在 FB javascript 之后(两个代码是同步的)
    • “在 FB javascrip 之后”是什么意思。我尝试同步加载 js sdk,然后将该行 jquery 代码放在 html 页面的末尾。但它不起作用跨度>
    • @Eddy Chan:facebook javascript 创建 iframe,Fabrices 的 jQuery 代码更新该 iframe 的 src,因此必须在 iframe 完成后调用它。
    • 我试过这个,我无法得到结果。它不是按逆时间排序的。只是做愚蠢的社交排名对我的用户没有帮助。目前有没有人这样做?
    【解决方案3】:

    只是猜测我添加了

     data-order-by="reverse_time"
    

    到 Facebook 提供的 div,它运行良好。 因此,使用此处提供的标准 html5 代码加载插件:https://developers.facebook.com/docs/reference/plugins/comments/

    只需像这样添加data-order-by 属性:

    <div class="fb-comments" data-href="YOUR_URL" data-width="470" data-num-posts="6" data-order-by="reverse_time"></div>
    

    【讨论】:

    • 正是我需要的。即使没有在审核页面中设置默认值,这也有效。谢谢!
    【解决方案4】:

    您无法更改 cmets 插件的默认排序顺序。要实现这样的目标,您可以自己检索 cmets,例如,使用 FQL,但是您还需要构建其他所有内容。或者使用 Disqus 之类的东西。

    【讨论】:

    • 简直不敢相信这么有名的插件居然没有这么初级的功能……
    • 好吧,社交插件也没有办法用 CSS 来设置样式了——尽管这使得许多网站设计很难集成它们并且许多开发人员表达了他们的不满。 Facebook 希望我们使用“社会相关性”排序,他们正在强制执行。下沉或游泳。
    【解决方案5】:

    如果您访问https://developers.facebook.com/tools/comments/{Your_app_id}/ 然后点击“设置”链接,您可以编辑“评论排序依据”设置。

    选择是:

    • 顶部
    • 最新
    • 最古老的

    根据https://developers.facebook.com/docs/plugins/comments/#moderation-setup-instructions,你的网页必须有&lt;meta property="fb:app_id" content="{YOUR_APP_ID}" /&gt;这样的标签。

    附:对我来说不幸的是,由于我使用的是 ClickFunnels,因此添加此标签似乎没有任何效果。相反,我需要完全控制我的网页(而不是使用 ClickFunnels 之类的简化工具)。

    【讨论】:

      猜你喜欢
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 2012-02-10
      • 2012-10-11
      • 2011-11-13
      • 2012-04-09
      • 2016-04-07
      • 1970-01-01
      相关资源
      最近更新 更多