Возможность поделиться каким-либо материалом в социальных сетях используется довольно часто. Почти все социальные сети предоставляют скрипты для вставки таких кнопок на веб-страницы. Но с этим решением есть две проблемы.
Но отказываться полностью от кнопок не обязательно. Я написал небольшую библиотеку на JS, которая работает полностью автономно и распространяется на условиях CC0.
Мне очень нравится блок «Поделиться» от Яндекса и я старался сделать что-то подобное, но с возможностью полностью контролировать данные и без редиректов кликов через собственный сервер. Также мне нравится Fontello, поэтому иконки социальных сетей сделаны через него. Fontello — это шрифт с иконками и небольшая библиотека, позволяющая вставлять иконки в текст так, как это сделано в Twitter Bootstrap — путем создания элемента с
IndieSocial работает очень просто. Вы подключаете ее около и создаете блок с
Просто добавьте ее в переменную
Репозиторий на Github, демо.
- Скорость загрузки. Если вы разместите огромное количество таких кнопок, то страницы будут грузиться медленно, а если одна из социальных сетей лежит, то пользователи скорее закроют ваш сайт, чем будут ждать. Да, это можно решить ассинхронной загрузкой, и даже есть библиотека Socialite.js для этого, но даже она не отменяет общего размера кнопок.
- Приватность. Социальные сети узнают не только о том, что вы туда добавили сами, но даже и том, что вы посетили страницу с подобным виджетом.
Но отказываться полностью от кнопок не обязательно. Я написал небольшую библиотеку на JS, которая работает полностью автономно и распространяется на условиях CC0.
Мне очень нравится блок «Поделиться» от Яндекса и я старался сделать что-то подобное, но с возможностью полностью контролировать данные и без редиректов кликов через собственный сервер. Также мне нравится Fontello, поэтому иконки социальных сетей сделаны через него. Fontello — это шрифт с иконками и небольшая библиотека, позволяющая вставлять иконки в текст так, как это сделано в Twitter Bootstrap — путем создания элемента с
class="код_иконки"
.IndieSocial работает очень просто. Вы подключаете ее около и создаете блок с
id="indiesocial-init"
. Теперь осталось только настроитьКонфигурация
- Чтобы добавить иконки Fontello, добавьте к блоку
data-addFontelloIcon="true"
. - Чтобы добавить текстовые названия сервисов, добавьте
data-addText="true"
- Вы можете включить только некоторые сервисы. Для этого к вашему блоку добавьте параметр
data-indieSocialServices
, в котором через запятую перечислите необходимые социальные сети. - Чтобы установить URL, добавьте
data-URL="URL"
. По умолчанию —window.location
- Чтобы установить заголовок, добавьте
data-title="заголовок"
. Не работает с Google+. - Ну и конечно, все это легко можно настраивать с помощью CSS и JS. Каждой социальной сети кнопке соответствует класс с именем
indiesocial-имя_социальной_сети
.
Поддерживаемые сервисы
- VK
- Одноклассники
- Google+
- Ya.ru
- FriendFeed
- Tumblr
- Blogger
Добавление новой социальной сети.
Просто добавьте ее в переменную
indiesocialServices
. Пример с Facebook.'facebook': {
'URL': 'https://www.facebook.com/sharer.php?u=',
'title' : '&t=',
'fontello': 'icon-facebook',
'name' : 'Facebook',
},
Репозиторий на Github, демо.