Кнопка Facebook like, нажатая на одной странице, применяется к нескольким страницам

#javascript #html #jsp #xfbml #social-media

#javascript #HTML #jsp #xfbml #социальные сети

Вопрос:

Я пытаюсь добавить facebook like на сайт, используя xfbml, я следовал рекомендациям отсюда.

Страница основана на JSP, и я выполняю настройку xfbml в конце файла header.jsp, который включен в начало тега body. Я предоставляю мета-теги, используя open graph для заголовка, описания и изображения, но это параметры, переданные в заголовок.
По какой-то причине кнопка facebook like, нажатая на одной странице, затем становится понравившейся для всех других страниц в том же контексте. Я не уверен, что я делаю не так, любая помощь будет высоко оценена, заранее спасибо.

Комментарии:

1. Вы динамически изменяете атрибут data-href на кнопке для каждой страницы, на которой она появляется?

2. Да, я создаю короткий URL-адрес для каждой статьи / сообщения и использую его в href, т.Е.: <div class="fb-like"> <fb:like href="<%=shortUrl%>" send="false" width="25" show_faces="false" action="like" colorscheme="light" ></fb:like> </div>

3. На данный момент у меня такое же поведение и с кнопкой Google 1…

4. Интересно, может ли короткий URL-адрес быть проблемой. Вы пробовали использовать фактический запрошенный URL вместо этого? И для пояснения, что вы подразумеваете под «другими страницами в том же контексте»?

5. Похоже, что способ, которым мы генерируем короткие URL-адреса, создает дубликаты … упс!

Ответ №1:

  <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_GB/sdk.js#xfbml=1amp;version=v2.3";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
  

Попробуйте использовать это.