Закрыть ... [X]

Соцу своими руками

соцу своими руками

Share = {

    /

     Показать пользователю диалог шаринга в сооветствии с опциями

     Метод для использования в inline-js в ссылках

     При блокировке всплывающего окна подставит нужный адрес и ползволит браузеру перейти по нему

    

     @example <a href="" onclick="return share.go(this)">like+</a>

    

     @param Object _element - элемент DOM, для которого

     @param Object _options - опции, все необязательны

     /

    go: function(_element, _options) {

        var

            self = Share,

            options = $.extend(

                {

                    type:       'vk',    // тип соцсети

                    url:        location.href,  // какую ссылку шарим

                    count_url:  location.href,  // для какой ссылки крутим счётчик

                    title:      document.title, // заголовок шаринга

                    image:        '',             // картинка шаринга

                    text:       '',             // текст шаринга

                },

                $(_element).data(), // Если параметры заданы в data, то читаем их

                _options            // Параметры из вызова метода имеют наивысший приоритет

            );

 

        if (self.popup(link = self[options.type](options)) === null) {

            // Если не удалось открыть попап

            if ( $(_element).is('a') ) {

                // Если это <a>, то подставляем адрес и просим браузер продолжить переход по ссылке

                $(_element).prop('href', link);

                return true;

            }

            else {

                // Если это не <a>, то пытаемся перейти по адресу

                location.href = link;

                return false;

            }

        }

        else {

            // Попап успешно открыт, просим браузер не продолжать обработку

            return false;

        }

    },

 

    // ВКонтакте

    vk: function(_options) {

        var options = $.extend({

                url:    location.href,

                title:  document.title,

                image:  '',

                text:   '',

            }, _options);

 

        return 'http://vkontakte.ru/share.php?'

            + 'url='          + encodeURIComponent(options.url)

            + '&title='       + encodeURIComponent(options.title)

            + '&description=' + encodeURIComponent(options.text)

            + '&image='       + encodeURIComponent(options.image)

            + '&noparse=true';

    },

 

    // Одноклассники

    ok: function(_options) {

        var options = $.extend({

                url:    location.href,

                text:   '',

            }, _options);

 

        return 'http://www.odnoklassniki.ru/dk?st.cmd=addShare&st.s=1'

            + '&st.comments=' + encodeURIComponent(options.text)

            + '&st._surl='    + encodeURIComponent(options.url);

    },

 

    // Facebook

    fb: function(_options) {

        var options = $.extend({

                url:    location.href,

                title:  document.title,

                image:  '',

                text:   '',

            }, _options);

 

        return 'http://www.facebook.com/sharer.php?s=100'

            + '&p[title]='     + encodeURIComponent(options.title)

            + '&p[summary]='   + encodeURIComponent(options.text)

            + '&p[url]='       + encodeURIComponent(options.url)

            + '&p[images][0]=' + encodeURIComponent(options.image);

    },

 

    // Живой Журнал

    lj: function(_options) {

        var options = $.extend({

                url:    location.href,

                title:  document.title,

                text:   '',

            }, _options);

 

        return 'http://livejournal.com/update.bml?'

            + 'subject='        + encodeURIComponent(options.title)

            + '&event='         + encodeURIComponent(options.text + '<br/><a href="' + options.url + '">' + options.title + '</a>')

            + '&transform=1';

    },

 

    // Твиттер

    tw: function(_options) {

        var options = $.extend({

                url:        location.href,

                count_url:  location.href,

                title:      document.title,

            }, _options);

 

        return 'http://twitter.com/share?'

            + 'text='      + encodeURIComponent(options.title)

            + '&url='      + encodeURIComponent(options.url)

            + '&counturl=' + encodeURIComponent(options.count_url);

    },

 

// Google+

    gg: function (_options) {

        var options = $.extend({

            url: location.href          

        }, _options);

 

        return 'https://plus.google.com/share?url='

            + encodeURIComponent(options.url);

    },

 

    // Mail.Ru

    mr: function(_options) {

        var options = $.extend({

                url:    location.href,

                title:  document.title,

                image:  '',

                text:   '',

            }, _options);

 

        return 'http://connect.mail.ru/share?'

            + 'url='          + encodeURIComponent(options.url)

            + '&title='       + encodeURIComponent(options.title)

            + '&description=' + encodeURIComponent(options.text)

            + '&imageurl='    + encodeURIComponent(options.image);

    },

 

    // Открыть окно шаринга

    popup: function(url) {

        return window.open(url,'','toolbar=0,status=0,scrollbars=1,width=626,height=436');

    }

}



Поделись с друзьями



Рекомендуем посмотреть ещё:




Социальная сеть своими руками Питательные крема для лица в домашних условиях

Соцу своими руками Соцу своими руками Соцу своими руками Соцу своими руками Соцу своими руками

ШОКИРУЮЩИЕ НОВОСТИ