Внедрение и тестирование социальных плагинов Facebook локально - PullRequest
3 голосов
/ 27 января 2012

Я новичок в разработке Facebook и хотел бы добавить плагин комментариев на свой сайт.
Я создал приложение на Facebook, если это необходимо.но так как я еще не зарегистрировал свой домен, я оставил раздел App Domain пустым.
Затем скопировал полученный код: http://developers.facebook.com/docs/reference/plugins/comments/, чтобы протестировать плагин.Но когда я тестировал код в html-файле, ничего не показывалось.

  • Нужен ли appid для использования плагина комментариев?
  • Если мне нужен appid, стоит ли сначала купить домен и добавить его в раздел App Domain?можно просто протестировать плагин с example.com url?
  • В общем, каков самый простой способ заставить плагин комментариев работать?

ОБНОВЛЕНИЕ: основываясь на ответе Ликса, я отредактировал свой файл 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>  

Но все жене повезло.

Ответы [ 2 ]

3 голосов
/ 27 января 2012

Насколько я знаю, вам нужно нужно приложение, чтобы использовать плагин комментариев (я считаю, что для модерации).Если вы посмотрите на код , который Facebook генерирует для поля комментариев, то увидите, что у него есть идентификатор приложения:

<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 для разрешения вашегоlocalhost (127.0.0.1).

Другая часть - это создание виртуального хоста на локальном веб-сервере для вашего сайта.Таким образом, вы фактически получаете доступ к своему локальному сайту в браузере как http://example.com, а не localhost/example.com.Есть много хороших статей о том, как настроить Apache для этого, вот две:

Затем убедитесь, что настройки администратора вашего приложения Facebook настроены правильно, чтобы разрешить домен http://example.com.При настройке приложения «Веб-сайт» необходимо указать «URL-адрес сайта».Вы также можете добавить свой новый локальный домен в качестве приложения «Домен приложения».

Боже, удачи!

2 голосов
/ 27 января 2012

Что вы можете сделать, это отредактировать файл hosts, чтобы он содержал ваш «поддельный» локальный домен и поместил это значение там.

...