Есть сайт, на нём есть страница, в которой может быть 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 для блоков раочими способами?
Заранее спасибо)