GithubHelp home page GithubHelp logo

maxulyanov / socialbuttons Goto Github PK

View Code? Open in Web Editor NEW
8.0 5.0 2.0 61 KB

Готовое решение для добавления кнопок социальных сетей на сайт

Home Page: https://m-ulyanov.github.io/SocialButtons/

License: MIT License

HTML 16.44% CSS 27.98% JavaScript 55.57%
social-buttons shared-services share vkontakte facebook twitter social odnoklassniki

socialbuttons's Introduction

Social Buttons

Готовое решение для добавления кнопок социальных сетей на сайт.

Быстрый старт

  • Подключить SocialButtons.css и SocialButtons.js или их минифицированные версии
  • Создать экземпляр кнопок с помощью вызова new SocialButtons, передав нужные параметры
  • При необходимости подключить es6-promise.js
  • Никакие дополнительные библиотеки (например jQuery) для работы не требуются
  • Установить можно так же из NPM:
    npm install social-buttons

Какие сервисы поддерживаются?

На данный момент это - Вконтакте, Facebook, Google+, Одноклассники, Twitter, Мой Мир, Livejournal, Linkedin
Функциональные названия:
['facebook', 'vkontakte', 'odnoklassniki', 'googleplus', 'twitter', 'moimir', 'lj', 'linkedin']

Параметры

services - Массив сервисов, кнопки которых должны быть сгенерированы в текущем виджете
components - Какие элементы кнопки должны быть отрисованы.
Доступные значения: icon, text, count (положение элементов в массиве не имеет значения)
counter - Отображать ли счетчики публикаций. По умолчанию false
outputCountCallback - Функция для изменения отображения счетчика, ожидается, что будет возращен результат модификации.
В единственном параметре можно получить текущий счетчик. theme - Варианты отображения кнопок. Изначально доступно несколько тем: default, color
Вы так же можете создать свою тему, добавив соответствующие стили, сами кнопки получат постфикс вида - b-social-button--yourtheme
showZeros - Показывать ли счетчики, если они равны нулю. По умолчанию - false
buttonSize - Размер кнопок: small, middle, large или любое другое значение, которое может быть преобразовано в число
id - Уникальный идентификатор DOM элемента, к которому будет привязан и отрисован виджет кнопок
url - URL расшариваемой публикации, параметр имеет наивысшей приоритет, если он не указан значение берется из meta тега property="og:url, по умолчанию текущий url
title - Заголовок расшариваемой публикации, параметр имеет наивысше йприоритет, если он не указан значение берется из meta тега property="og:url, по умолчанию title текущей страницы
description - Описание расшариваемой публикации, параметр имеет наивысшей приоритет, если он не указан значение берется из meta тега property="og:description
image - Изображение расшариваемой публикации, параметр имеет наивысшей приоритет, если он не указан значение берется из meta тега property="property="og:image
helpers - Объект кастомизации кнопок виджета, для каждой социальной сети содержит дочерний объект, который доступен по ключу (названию сервиса), например "vkontakte", который в свою очередь имеет следующее поля:

  • text - Текст кнопки
  • title - Тег title для кнопки
  • counter - Пользовательская функция, переопределяет сервис получение счетчика по-умолчанию
  • customClass - Дополнительный класс для кастомизации

callbacks - Объект с функциями, которые будут вызваны при наступлении определенных событий, по-умолчанию все функции объекта callbacks равны - NULL.

  • create - виджет успешно создан
  • share - попытка расшаривания публикации
    Так же Для каждой функции при создании в параметре можно получить полезные данные о событии

Рекомендации

Используйте Open Graph разметку на странице.
Это поможет подхватывать социальным сетям правильные данные при публикации.
<meta property="og:url" content="share url">
<meta property="og:title" content="share title">
<meta property="og:description" content="share content">
<meta property="og:image" content="share image">

Проблемы и решения

Скрипт не работает, не отображается ни одна кнопка

Стоит проверить консоль:
Ошибка: #yourID not found!
Решение:

  • Вызов new SocialButtons необходимо осуществить после загрузки DOM дерева - DOMContentLoaded
  • Проверьте наличие элемента c ID - yourID на вашей странице

Ошибка: Uncaught ReferenceError: Promise is not defined
Решение: Подключите файл es6-promise.js

Не отображается счетчик публикаций

Некоторые социальные сети не позволяют получить количество публикаций (шаринга), например у Twitter, такая возможность отсутствует

Публикуется неправильный контент

Выполните рекомендации из предыдущего раздела

Кроссбраузерность

Все современные браузеры.
IE начиная с 9 версии и выше.

Демонстрация

Посмотреть пример

socialbuttons's People

Contributors

maxulyanov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

koffus lexuspro

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.