Facebook Like (в модальном окне) изменить location_href

Мы используем PrettyPhoto и новейшее воплощение 3.1.3 позволяет пользователям лайкать и твитнуть в модальном окне.

Это здорово, но это работает (фб, что есть). Мне еще предстоит найти кого-нибудь, у кого это работает, даже сам сайт PrettyPhoto.

Во всяком случае, я действительно хотел бы использовать это. Я думаю, проблема в том, как анализируется URL.

Prettyphoto JS код для кнопки iframe, как это..

<iframe src="http://www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe>

Ключ, кажется, {location_href}

Это правильное форматирование? Перед тем как спросить, yep спросил о поддержке PrettyPhoto, но, увы, есть целая куча людей, которые задают одни и те же вопросы без ответа.

Я думаю, что JS, которые они используют, это неправильно.

Чтобы добавить: попытался parent_location_href, но не анализирует правильно, также parent.location_href и все различные коннотации..

Похоже, мне нужно поставить абсолютную ссылку... или я должен указать URL сайта, а затем location_href

Например, http://mydomain.com/{location_href}

1 ответ

Решение

В Facebook нет встроенной версии кнопки "Нравится". Пожалуйста, смотрите здесь http://developers.facebook.com/docs/reference/plugins/like/

Я бы использовал версию xfbml и следовал документации Tue, чтобы сделать это, добавив пространство имен и асинхронно загрузив SDK fb js.

Редактировать: вот краткое руководство

Поместите этот код сразу после открывающего тега 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_GB/all.js#xfbml=1&appId=265199713527696";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

Измените свой HTML-тег, чтобы иметь это пространство имен

<html xmlns:fb="http://ogp.me/ns/fb#">

Затем поместите вашу кнопку как xfbml в модальное замещение значений по мере необходимости

<fb:like href="http://yoururl.com" send="true" width="450" show_faces="true" font="arial"></fb:like>

Возможно, вы захотите использовать fb lint, чтобы проверить, какие сведения выбраны на Facebook, и обновить любые данные для ссылки. Это можно найти по адресу http://developers.facebook.com/tools/debug

Другие вопросы по тегам