Локальное внедрение и тестирование социальных плагинов Facebook


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

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

Обновление: Основываясь на ответе 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>  

Но все равно не повезло.

2 3

2 ответа:

Насколько я знаю, вам действительно нужно приложение для использования плагина комментариев (для функциональности модерации, я полагаю). Если вы посмотрите на код, который 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-адрес сайта". Вы также можете добавить свой новый локальный домен в качестве приложения "App Domain".

[6] Бог удачи!

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