3

我是 Facebook 开发的新手,想在我的网站上添加一个评论插件。
我在 Facebook 上创建了一个应用程序,以备不时之需。但由于我还没有注册我的域名,所以我把这个App Domain部分留空了。
然后我复制了给我的代码:http: //developers.facebook.com/docs/reference/plugins/comments/来测试插件。但是当我在一个 html 文件中测试代码时,什么也没有出现。

  • 我需要一个 appid 才能使用评论插件吗?
  • 如果我需要appid,我应该先购买一个域名并将其添加到App Domain版块中吗?我可以用example.comurl 测试插件吗?
  • 一般来说,让评论插件工​​作的最基本方法是什么?

更新:根据 Lix 的回答,我编辑了我的 hosts 文件并添加了:

127.0.0.1 www.example.com
127.0.0.1 example.com
127.0.0.1 http://www.example.com
127.0.0.1 http://example.com

这是我的测试页面:

<html>
<head>
  <title>My Web page</title>
</head>
<body>
    <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/en_US/all.js#xfbml=1";
        fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
    <div class="fb-comments" data-href="http://example.com" data-num-posts="2" data-width="470"></div>
</html>  

但仍然没有运气。

4

2 回答 2

3

据我所知,您确实需要一个应用程序来使用评论插件(我相信用于审核功能)。如果您查看Facebook为评论框生成的代码,您会看到它有一个 App 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/en_US/all.js#xfbml=1&appId=MY_APP_ID"; // <-- here
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

但是,要让您的应用程序在本地正常运行,您需要设置一个虚拟主机。我通常将它们设置为http://website1.dev.

正如Lix提到的,设置虚拟主机的一部分是将域添加到您的hosts文件中以解析到您的本地主机 (127.0.0.1)。

另一部分是在您的本地 Web 服务器上为您的网站创建一个虚拟主机。这样,您实际上是在浏览器中访问本地站点,http://example.com而不是localhost/example.com. 有很多关于如何设置 Apache 来执行此操作的好文章,这里有两篇:

然后,确保您的 Facebook 应用程序的管理员设置正确设置为允许该http://example.com域。当您设置应用程序“网站”时,您必须指定“网站 URL”。您还可以将新的本地域添加为应用程序“应用程序域”。

祝你好运!

于 2012-01-27T15:58:00.207 回答
2

您可以做的是编辑您的主机文件以包含您的“假”本地域并将该值放在那里。

于 2012-01-27T15:16:42.067 回答