@Briss
UI\UX designer \ Frontend developer

Кнопка «Поделиться» для Facebook. Как отправлять кастомные данные?

Есть сайт, на нём есть страница, в которой может быть N блоков, содержащих : заголовок, текст, картинку, кнопки "Поделиться" для соцсетей.
Для Facebook парсятся данные, прямо из блоков, и формируется ссылка вида

https://www.facebook.com/sharer/sharer.php?&p[title]=titlefrompage&p[summary]=description&p[url]=link&p[images][0]=addresstoimage.jpg

Где соотв. titlefrompage - заголовок блока, description -текст блока, addresstoimage.jpg - ссылка на картинку.

Но почему-то не работает, открывается стандартный фейсбучный pop-up, с данными страницы, а не блока, хотя в ссылке верные данные.

Насколько я понял, фейсбук выпустил новые кнопки поделиться, и теперь sharer.php работает как-то не так, как раньше.

Пробовал при клике на кнопку вставлять в страницу open-graph meta теги, чтобы он их парсил, и на это 0 внимания.

Для шаринга использую следующий код (кстати, с одной из статей с хабра):

Share = {
           
            facebook: function(purl, ptitle, pimg, text) {

                url  = 'https://www.facebook.com/sharer/sharer.php?';
                url += '&p[title]='     + encodeURIComponent(ptitle);
                url += '&p[summary]='   + encodeURIComponent(text);
                url += '&p[url]='       + encodeURIComponent(purl);
                url += '&p[images][0]=' + encodeURIComponent(pimg);
                url += '?v3';
                Share.popup(url);
            },
            popup: function(url) {
                window.open(url,'','toolbar=0,status=0,width=626,height=436');
            }
        };
  $(document).on('click','.social-icons-block a .fb',(function(){
            var title = ($(this).parents('.cont-block').find('.cont-block_title').text());
            var text = ($(this).parents('.cont-block').find('.cont-block_text').text());
            var pimg = ($(this).parents('.cont-block').find('.cont-block_gallery img').attr('src'));
            var purl = (document.location.href);
            pimg= ('site.ru') + pimg;
            console.log(title+ text + pimg + purl);
            Share.facebook(purl,title,pimg,text)

        }));


Для вк и твиттера всё идеально, а фейсбук не работает :(

Как можно реализовать кастомный "share"ing для блоков раочими способами?

Заранее спасибо)
  • Вопрос задан
  • 15358 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Comport
Доброй ночи! Так же задался этим вопросом, что в итоге у вас получилось? Какой способ заюзали?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы