Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Социальные кнопки для сайта. На критику (https://javascript.ru/forum/project/57082-socialnye-knopki-dlya-sajjta-na-kritiku.html)

Decode 18.07.2015 18:08

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

Прошу указать на ошибки.

рони 18.07.2015 18:54

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

nerv_ 18.07.2015 19:25

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() {


Печаль, короче)

Decode 18.07.2015 19:37

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

nerv_, а можно аргументировать?

nerv_ 18.07.2015 20:39

Цитата:

Сообщение от Decode
а можно аргументировать?

лениво)


Часовой пояс GMT +3, время: 12:25.