Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.07.2015, 18:08
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Социальные кнопки для сайта. На критику
Попробовал написать простой плагин. Вот сам код — http://plnkr.co/edit/c5bZ5hzMnBXddKKmHmts?p=preview

Прошу указать на ошибки.
Ответить с цитированием
  #2 (permalink)  
Старый 18.07.2015, 18:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Decode,
как вариант
return {
            init: function() {
                var self = this,
                    icons = document.querySelectorAll('.social-icons .icon'),
                    url = this.elem.getAttribute('data-url') || location.href,
                    title = this.elem.getAttribute('data-title') || document.title,
                    description = this.elem.getAttribute('data-description');
                [].map.call(icons, function(icon) {
                    var id = icon.getAttribute('data-id');
                    id && addEvent(icon, 'click', function(e) {
                        e.preventDefault();
                        share(id, url, title, description, self);

                    })

                })

            }
        };

http://plnkr.co/edit/n36HmlacBm8rbwCsT36D?p=preview
Ответить с цитированием
  #3 (permalink)  
Старый 18.07.2015, 19:25
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Decode,

убрать всю порнографию из кода:
1.
window.focus && newWindow.focus();

2.
if(title.length > 0 && description.length > 0)
                        text = title + ' - ' + description;

3.
if( !('create' in Object) ) {
        Object.create = function(proto) {
            function F() {}
            F.prototype = proto;
            return new F;
        }
    }

4.
var addEvent = function(elem, type, handler){
        elem.addEventListener ? elem.addEventListener(type, handler, false) : elem.attachEvent("on" + type, handler);
    };

5.
options = Object.create(options);


и т.п.

зачем то вложенность создает на ровном месте
SocialShare.prototype = (function() {


Печаль, короче)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 18.07.2015, 19:37
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

рони, ок, исправлю.

nerv_, а можно аргументировать?
Ответить с цитированием
  #5 (permalink)  
Старый 18.07.2015, 20:39
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Decode
а можно аргументировать?
лениво)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Календарь с нерабочими днями для сайта dartwlad jQuery 9 26.04.2013 10:36
Поиск решения для сайта hell_chief Оффтопик 7 16.03.2013 22:18
Для новичков советы по безопасности сайта greatilya Оффтопик 0 07.08.2009 03:49
Проблема с меню для кнопки в Гриде progi2007 ExtJS 0 03.08.2009 14:16
Бесплатный движок для сайта greatilya Ваши сайты и скрипты 9 03.05.2009 15:28