Комментарии Facebook показывают предупреждение "сайт недоступен", но все еще работает - PullRequest
2 голосов
/ 04 ноября 2011

Я занимаюсь разработкой сайта, реализующего «комментарии в Facebook». Особенностью сайта является то, что я планирую иметь много страниц, реализующих «комментарии Facebook», которые генерируются автоматически посредством программирования на стороне сервера.

Теоретически это не должно быть проблемой ... Я включил следующий код JavaScript, который был сгенерирован для меня:

(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";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')); 

HTML-тег, который я включил, следующий:

<div class="fb-comments" data-href="www.myurl.com/user/{{user.id}}" data-num-posts="20" data-width="500"></div>  

Что касается вышесказанного, вы заметите, что я использую python-django, поэтому в двойных фигурных скобках есть переменная на стороне сервера. Это позволяет мне иметь одинаковую функциональность на многих автоматически сгенерированных страницах.

Кажется, все работает отлично. У каждой отдельной страницы есть своя соответствующая реализация комментариев на Facebook ... КРОМЕ, я получаю это надоедливое предупреждающее сообщение "Предупреждение: (МОЙ URL) недоступен". Очевидно, что это достигается, потому что он работает правильно! Итак, почему он показывает предупреждение и как мне от него избавиться?

Я попытался добавить весь набор мета-свойств, но безрезультатно:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:og="http://ogp.me/ns#"
  xmlns:fb="http://www.facebook.com/2008/fbml" version="XHTML+RDFa 1.1">

<head>
<meta property="fb:admins" content="<MY_FB_ID>" />
<meta property="og:site_name" content="bowlofgoals" />
<meta property="fb:app_id" content="<MY_APP_ID>" />
<meta property="og:title" content="Bowl of Goals"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="<URL>"/>
<meta property="fb:moderator" content="<MY_FB_ID>" />

Также обратите внимание, что я также реализовал Facebook Connect в корневой папке сайта. Итак, мой «URL сайта» в настройках моего приложения - это корневая папка, а не подстраницы, где реализованы комментарии на Facebook.

Все функции работают отлично .... так что я должен сделать, чтобы избавиться от этого надоедливого предупреждающего сообщения?

Большое спасибо за любые рекомендации, которые вы можете предложить по этому вопросу.

Mark

Ответы [ 2 ]

1 голос
/ 23 февраля 2013

Я избавился от этой ошибки, изменив data-href на значение, которое я установил в Веб-сайт с URL-адресом для входа в Facebook .Таким образом, у меня есть http://domain.org/contest/ в моем URL сайта и мой data-href до http://domain.org/contest

Но у меня есть та же проблема, что и у вас, где мой плагин комментариев находитсякуча страниц, где URL-адрес динамический, что-то вроде http://domain.org/contest/id/13131 или http://domain.org/contest/id/4848, но я не могу вставить ни один из этих URL в мой data-href .Вместо этого я должен поставить http://domain.org/contest, чтобы избавиться от этой ошибки.

1 голос
/ 19 марта 2012

Попробуйте проверить свою страницу на наличие ошибок JavaScript.У меня была та же проблема, что и у вас, и независимо от того, какие теги я добавил, независимо от того, что я сделал, плагин не работал.

После более внимательного изучения Firebug я заметил, что у меня была одна ошибка в JavaScriptвызвано скриптом слайдера в моем шаблоне.Удалил этот скрипт, и теперь все работает как чудо.

Я предполагаю, что ошибка сломала весь мой JavaScript, включая Facebook, и поэтому плагин не работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...