Несколько репостов в Facebook на одной странице

У меня есть сайт-агрегатор ежедневных сделок, и я не могу заставить акцию Facebook работать должным образом. На каждой странице есть много предложений, и у каждого есть своя акция в FB, чтобы они могли публиковать ее на своей стене, на стене друзей и т. д.

вот сайт, на котором вы можете попробовать поделиться: http://bit.ly/xFGzj5

Вот код, который я сейчас использую:

<!-- Each Deal has this button that links to FB -->
<a href="http://www.facebook.com/share.php?u=<?php echo urlencode($shareurl); ?>" onclick="return fbs_click('<?php echo urlencode($shareurl); ?>','<?php echo $title; ?>')" target="_blank"><img src="../../images/fb.png" border="0" alt="Share On Facebook" class="smicon" /></a>

<!--And here is the JS function:-->

<script>
function fbs_click(u,t) {
window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
return false;
}
</script>

При использовании этого метода сейчас заголовок не работает должным образом, иногда изображение появляется, иногда нет. Когда изображение действительно отображается, на выбор предлагается около 200 миниатюр (в зависимости от того, сколько предложений на странице), поэтому пользователь должен циклически просматривать его, пока не найдет нужное.

В идеале я хочу, чтобы URL-адрес/заголовок работали правильно (очевидно) и чтобы изображение переходило к изображению этой конкретной сделки по умолчанию, когда они нажимают кнопку «Поделиться». У кого-нибудь есть идеи, как это сделать???


person Curtis Mangione    schedule 14.02.2012    source источник
comment
Это должно занять вечность, чтобы загрузить тоже. Каждый лайк открывает собственный iframe и обратное соединение с FB.   -  person Diodeus - James MacFarlane    schedule 14.02.2012


Ответы (2)


почему вы придерживаетесь такого подхода? я рекомендую использовать либо социальные виджеты, либо javascript sdk fb.

например, с помощью js sdk вы можете сделать это: https://developers.facebook.com/docs/reference/dialogs/send/

что касается социальных виджетов, вы можете добавить лайк для каждого элемента: https://developers.facebook.com/docs/reference/plugins/like/

или кнопку отправки: https://developers.facebook.com/docs/reference/plugins/send/

person Nitzan Tomer    schedule 14.02.2012
comment
Привет Ницан. Спасибо за ответ. Я немного изучил эти виджеты. Первое и третье, что вы предложили, выглядит так, как будто ими можно поделиться только в личном сообщении. Моя цель состоит в том, чтобы пользователи могли публиковать сообщения в своей собственной хронике или в хронике друзей. Кнопка «Мне нравится» меня немного заинтриговала, но я хочу иметь возможность указать заголовок и изображение, которыми кто-то поделился. Я вижу, что есть инструменты с открытым графиком, где вы можете указать эту информацию, но, исходя из этого, у меня может быть только 1 общее изображение и 1 общее название для сотен сделок, которые есть на моей странице. Какие-нибудь мысли? Спасибо! - person Curtis Mangione; 15.02.2012
comment
Да, у кнопки «Нравится» нет ни одной детали, которую я хочу. Все, что он может сделать, это сказать, что пользователю нравится URL-адрес моей сделки. На их стене/временной шкале ничего не говорится о названии сделки или изображении. Возможно ли то, что я хочу? - person Curtis Mangione; 15.02.2012
comment
ну, кнопка «Поделиться» в Facebook устарела (developers.facebook.com/docs/share) и поэтому я настоятельно не рекомендую использовать это. как я вижу, вы должны либо использовать кнопку «Нравится», либо использовать js sdk, чтобы открыть диалоговое окно fb для обмена, как здесь: developers.facebook.com/docs/reference/dialogs/feed - person Nitzan Tomer; 15.02.2012
comment
Это идеально!! Большое спасибо за помощь, Ницан! - person Curtis Mangione; 16.02.2012
comment
@NitzanTomer У меня есть несколько изображений и кнопка «Поделиться» на одной странице. Как добавить пользовательское изображение для каждой кнопки «Поделиться». FB рекомендует использовать метатег og:image, но он действителен только для одного изображения на изображение. - person anubhav16; 06.04.2017
comment
@anubhav16 Извините, понятия не имею. Этому ответу больше 3 лет, и я уже несколько лет не пользуюсь API fb. Если вы не можете найти свой ответ на SO, спросите его. - person Nitzan Tomer; 06.04.2017

Просто помните, что JS-функция должна быть только один раз на главной странице, иначе она будет загружаться каждый раз при загрузке страницы. Это предотвратит исчезновение изображений. В .NET я добавил все сценарии FB на страницу Site.master, и все работает нормально.

person Nico van Niekerk    schedule 29.05.2013