кнопка facebook отображается только один раз при выводе через цикл while - PullRequest
0 голосов
/ 21 января 2012

Я использую Gallerific с плагином истории. В цикле while, где я печатаю все изображения, я хочу добавить кнопку «Поделиться» на Facebook для каждого изображения с использованием определенного URL-адреса изображения, заданного плагином history.

<script type="text/javascript" src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"></script>
$images=mysql_query("SELECT filename FROM images etc.");

while ($row = mysql_fetch_array($images)) {

<li><a class='thumb' name='imagename' href='url-to-image' title='description' onclick='clickedThumbnail()'><img src='url-to-thumb' alt='".$row['comment']."'/></a>
<div class='caption'>
<a name=\"fb_share\" type=\"button_count\" share_url=\"http://url-to-image-made-by-the-history-plugin\">Share</a>
</div>
}

Моя проблема заключается в том, что он печатает кнопку «Поделиться» только один раз. В первом пока-петле. На остальных изображениях он печатает содержимое тега <a> («Поделиться») с правильными атрибутами, но на него нельзя нажать. Я пробовал без 'share' в <a> -элементе, но потом ничего не получаю на других изображениях. Но я всегда получаю правильную кнопку FB на первом изображении.
Согласно developers.facebook.com , я должен включить JavaScript только один раз, хотя я использую несколько кнопок Facebook на одной странице. Я также попытался поместить несколько кнопок facebook вне цикла while, и он работает нормально. Кроме того, когда я набираю прямой URL к изображениям, заданным плагином истории, он работает нормально. Итак, мой вывод заключается в том, что это связано с печатью кнопок facebook из цикла while ..?

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Я использовал этот подход вместо http://developers.facebook.com/docs/reference/javascript/FB.ui/, динамически изменяя некоторые переменные для каждого изображения.Работает как шарм!

Спасибо за комментарии.

0 голосов
/ 22 января 2012

Этот плагин устарел.См .: http://developers.facebook.com/docs/share/

Вы захотите использовать функцию общего доступа, которая является частью кнопки «Нравится».Смотри: http://developers.facebook.com/docs/reference/plugins/like/

...