Как связать виджет комментариев facebook с текущим URL? - PullRequest
3 голосов
/ 03 января 2012

У меня есть небольшая проблема с полем для комментариев на моем веб-сайте. Я не могу найти способ связать комментарии с URL, на котором они находятся. Например, комментарий fb к Посту 1 на моем сайте распределяется между всеми моими постами, что может вводить пользователей в заблуждение. Я публикую около ста сообщений в день (в основном это фото), я никак не могу создать новую коробку для каждого из них.

Вот кусок кода, который меня беспокоит:

<div class="fb-comments" data-href="funshit.ru" data-num-posts="5" data-width="530" data-colorscheme="dark"></div>

Если бы существовал способ сделать ссылку на текущий URL-адрес, проблема была бы решена.

Любая помощь приветствуется m8s.

Ответы [ 5 ]

5 голосов
/ 19 сентября 2012

Поскольку CMS, в которой я кодировал, не возвращал текущий URL-адрес надежно и оставил его пустым или пропустил ошибку, я написал тег div в Javascript:

<script>
document.write("<div class='fb-comments' data-href='" + window.location.href + "' data-num-posts='2' data-width='400'></div>");
</script>

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

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

Вы можете опустить data-href (или оставить его пустым), чтобы использовать текущий URL.

Обновление:
По состоянию на сентябрь 2012 г. описанный выше метод работает только для первая версия поля комментариев Facebook .

Чтобы использовать более новую версию социального плагина комментариев, вам необходимо явно указать текущий URL.

0 голосов
/ 28 марта 2015

Я - блогер, я использовал приведенный ниже скрипт в своем блоге ( www.it.itmrk.com ), который работает на меня.

<script type='text/javascript'>
     var postUrl = '<data:post.url/>';
     document.write("<div class="fb-like" data-href='" + postUrl + "' data-layout="standard" data-action="recommend" data-show-faces="true" data-share="true"></div>");
</script>

Его дайте ссылкукаждый пост соответственно.Это также может помочь вам в полной мере.

Пожалуйста, проверьте это ......

0 голосов
/ 28 марта 2015

Используйте скрипт проверки ниже, который работает для меня.

<script type='text/javascript'>
     var postUrl = '<data:post.url/>';
     document.write("<div class="fb-like" data-href='" + postUrl + "' data-layout="standard" data-action="recommend" data-show-faces="true" data-share="true"></div>");
</script>

Это дает ссылку на каждый пост соответственно.

0 голосов
/ 27 февраля 2012

Этот, кажется, надежный и очень простой:

// In the next line, you must grab the parent element of the div with class fb-comments.

var oComments = document.querySelector("#CONTAINER-OF-COMMENTS-BOX");

oComments.innerHTML = '<div class="fb-comments" data-href="http://www.whatever.com/" data-num-posts="NUMBER OF POSTS TO SHOW" data-width="WIDTH OF CONTENT"></div>';

FB.XFBML.parse(oComments);

Вы также можете выбрать родительский элемент с помощью jQuery, например:

var oComments = $(".fb-comments").parent().get(0);

Убедитесь, что изменили data-href атрибут fb-comments div для изменения URL-адреса, к которому относятся комментарии.Вам также следует настроить data-num-posts для количества отображаемых сообщений и data-width для ширины содержимого.Это должно сделать это!

...