Простого способа получить количество расшариваний в g+ нет, но есть грязные, например, спарсить отсюда: https://apis.google.com/u/0/se/0/_/+1/sharebutton?plusShare=true&usegapi=1&action=share&url={$url}
Yandex share. В документации описаны параметры, принимающие всю необходимую информацию для шаринга. Для тех, кто не хочет писать свой компонент — идеал.
Для твиттера тоже существуют мета-теги. С помощью них легко вставляются картинки.
Подробнее тут: https://dev.twitter.com/cards/types/summary-large-image
У фейсбука есть инструмент для дебага шаринга: https://developers.facebook.com/tools/debug. Скормите ему ссылку на страницу, и он скажет, что не так. Аналогичный инструмент есть у твиттера: https://cards-dev.twitter.com/validator
Зачем придумывать свой велосипед? Есть хороший пример: https://github.com/sapegin/social-likes/blob/master/src/social-likes.js берете за основу services и counters.
Зачем брать за основу ваш «хороший пример», если там ссылки у одноклассников и твиттера старые, у всех соцсетей ссылки идут без картинок, только текст и тайтл и тд, если есть хороший пример — эта статья, в которой полные актуальные ссылки со всеми параметрами.
Тем более шаринг это не всегда яваскрипт, например в нашем случае идет редирект на соответствующую ссылку после того, как наш внутренний скрипт засчитает голос за нужного человека.
Давайте ещё раз, вы изначально спросили, для чего изобретать велосипед (имея в виду мою статью), когда есть хороший пример (ваш скрипт на гитхабе), который якобы можно взять за основу.
Я ответил на ваш вопрос:
1) ваш скрипт — плохой пример, потому что в отличие от статьи он предлагает старые и неполноценные ссылки на шаринг, поэтому брать его за основу — явно плохая идея
2) ваш скрипт использует странные механизмы получения информации о количестве шеров, как минимум для фейсбука
3) ваш скрипт — это не костяк, а попытка сделать полноценное решение для лайков на яваскрипте.
Таким образом, если из вашего скрипта в качестве костяка мы не можем взять ни массивы ссылок шаринга, ни массивы методов получения количества шеров, то что там брать за основу? Модуль открытия попапа с заданным урлом для джейквери?
Напротив, моя статья — как раз не велосипед, а просто базовая актуальная документация по основным соцсетям, собранная в одном месте и на русском языке. Собранная как раз потому, что в процессе решения своей задачи я нашёл массу скриптов похожих на ваш, но не нашёл ни одного актуального и полноценного, с комментариями и описанием принципов работы, поэтому и решил выложить добытые мной сведения на пользу обществу, может ещё кому то пригодится.
Если сравнивать мою статью и ваш скрипт с гитахаба, то в чистом остатке мы имеем:
Чтобы получить полноценное шаринг решение используя сведения из моей статьи — остаётся дописать только window.open с заданными урлами и повесить вёрстку, в которую кидать полученные значения шеринга.
Чтобы получить полноценное шаринг решение из вашего скрипта (не обращаясь к моей статье) нужно было бы перелопатить документацию каждой соц сети, как минимум чтобы понять как добавить картинки к посту. Зато там есть написанное window.open.
Ничего страшного бывает. Во-перых скрипт не мой я из него взял только services и counters. По поводу картинки: почти все соц сети забирают картинки из мета-тегов по умолчанию.
В ВК для голосования подсчет шеров через ссылку vk.com/share.php не совсем удачный. Очень легко накручивается.
Например: один человек может сто раз сделать репост и удалить эти записи, количество репостов останется =(
1000 и 1 репост: гайд по кнопке «поделиться» в русских соц сетях