Пример создания одного chrome extension

    Приветствую социум! Проработал 7 лет техническим директором. Понял, насколько это сильно бьет по нервам и решил начать жизнь с чистого листа. Пойти javascript-разработчиком.

    Почему: потому что люблю писать на этом языке. Он веселый и может влет решать множество реальных задач. Да, да, веселый, ведь он настолько не типизирован, что объект может иметь свойство в виде самого себя ) Причем при обращении к этому свойству мы реально изменяем сам объект.

    Веселый JS
    primer = {};
    primer["svoistvo1"] = "reddis";
    primer["svoistvo2"] = primer;
    primer["svoistvo2"]["svoistvo2"]["svoistvo2"]["svoistvo2"]["svoistvo1"] = "dadada";
    console.log(primer);
    



    Конечно без серверной части тяжеловато. Но современные браузеры легко позволяют хранить данные на клиенте. Для решения узконаправленных задач это самое то.

    В это статье я покажу, как можно создать chrome extension.

    Так первым делом создаем пустой проект.

    Как создать пустой проект 'Расширение хром'
    1. Вариант.
    Github
    2. Вариант.
    Ручками.

    Создаем такую структуру.

    • content_scripts (Папка)
      • end.js(Файл)
    • images (Папка)
      • empty_16.png(Файл)
      • empty_32.png(Файл)
      • empty_48.png(Файл)
      • empty_64.png(Файл)
      • empty_128.png(Файл)
    • popup (Папка)
      • popup.html(Файл)
      • popup.js(Файл)
    • manifest.json (Файл)


    Пояснение по структуре.
    content_scripts — Папка где хранятся файлы которые будут добавляться к телу страницы открытой в браузере.
    images — Папка где хранятся иконки расширения
    popup — Папка где хранятся само расширение которое отображается при нажатии на иконку.

    Загрузим наше пустое расширение в браузер.

    Как загрузить пустое расширение в браузер
    Для этого переходим на страницу «chrome://extensions/».

    image

    Выбираем «Режим разработчика».

    image

    Нажимаем кнопку «Загрузить распакованное расширение».



    Выбираем папку где храниться расширение и нажимаем кнопку «OK».



    Если расширение создано правильно, то мы видим его в списке расширений.



    В итоге мы получаем пустое расширение которое работает на всех адресах браузера.

    Так, теперь о идее практической пользы будущего расширения. Ну не знаю может будет транслировать gif-ку где Шэрон Стоун, перекидывает ноги? Конечно потребитель расширения найдется, но целевая группа будет не большой…

    Пример этого расширения

    Не долго думая решил реализовать что то похожее на «Заметки». Но так чтобы и времени немного ушло и расширение на веб приложение было похоже.

    Описание логической структуры расширения как я его вижу до момента написания кода.
    1. Создание, редактирование и удаление заметок.
    2. Создание, редактирование и удаление категорий заметок.
    3. Поиск заметок по описанию и по самим заметкам.

    C чего начну. Рисую прототип. Здесь.

    Я не дизайнер, так что сильно не заморачиваюсь. Просто кидаю нужные мне элементы на экран.

    То что у меня получилось...
    Вначале это.


    А потом вспомнил что:
    Max Width: 792 pixels
    Max Height: 584 pixels.



    Для того, чтобы категории заметок отображались красиво, создал класс и поигрался стилями.

    JS Класс возвращающий DIV с возможностью редактирования
    'use strict';
    
    class Folders {
        constructor( 
        isReturn,
        folders = [
        ["Мои заметки",0],     
        ["Музыка",0],       
        ["Видео",0],    
        ["Документы",0], 
        ["Изображения",0],   
        ["Сайты",0],    
        ["Прочее",0],    
        ],
        saveFolders = console.log,
        selectFunc = console.log,
        deleteFunc = console.log
        ) { 
            if (!isReturn) 
                return;    
            this.selectFunc = selectFunc;
            this.deleteFunc = deleteFunc;
            this.selected = false;
            this.folders = folders;
            this.saveFolders = saveFolders;      
            this.div = document.createElement("DIV");
            this.div.links = this;
            this.div.className = "folderDivVT";
            this.divMenu = document.createElement("DIV");
            this.divMenu.className = "folderMenuVT";
            this.divMenu.innerHTML = "<div class='renameFolder' title='Переименовать папку (F2)'  tabindex='1'></div><div class='deleteFolder' title='Удалить папку (Del)'  tabindex='1'></div><div class='addFolder' title='Добавить папку (Ins)'  tabindex='1'></div><div class='expandFolder' title='Раскрыть все (+)'  tabindex='1'></div><div class='foldFolder' title='Свернуть все (-)'  tabindex='1'></div>";
            this.divMenu.links = this; 
            this.result = document.createElement("DIV");
            this.result.appendChild(this.divMenu);
            this.result.appendChild(this.div);
            this.div.addEventListener("click",function (e) {
                try {
                    this.links.clickP(this.querySelector("p:focus"));
                } catch (ex) {}
            });
            this.div.addEventListener("dblclick",function (e) {    
                try {
                    this.links.clickP(this.querySelector("p:focus"));
                    this.querySelector("p:focus").parentNode.classList.toggle("active"); 
                } catch (ex) {}
            });
            this.div.addEventListener("keydown",function (e) { 
                var parentN = this.querySelector("p:focus").parentNode; 
                var th = false;
                var divs = this.querySelectorAll("DIV");
                for (var i = 0; i < divs.length; i++) 
                        if (divs[i] == parentN)
                            th = i;  
                var rep = -1; 
                var objBounding = false;  
                switch(true) { 
                    case (e.keyCode == 40) && (e.which == 40): 
                            for (var i = th + 1; i < divs.length; i++) {
                                objBounding = divs[i].getBoundingClientRect();
                                if (rep == -1)
                                    if ((objBounding["top"] == 0) && (objBounding["bottom"] == 0) && (objBounding["left"] == 0) && (objBounding["right"] == 0) && (objBounding["width"] == 0)) 
                                        rep = -1;   
                                    else
                                        rep = i;
                            } 
                            if (rep == -1)
                                for (var i = 0; i < th; i++) {
                                    objBounding = divs[i].getBoundingClientRect();
                                    if (rep == -1) {
                                        if ((objBounding["top"] == 0) && (objBounding["bottom"] == 0) && (objBounding["left"] == 0) && (objBounding["right"] == 0) && (objBounding["width"] == 0)) 
                                            rep = -1;   
                                        else
                                            rep = i;
                                    }  
                            }
                            this.links.clickP(divs[rep].querySelector("p"));  
                        break;  
                    case (e.keyCode == 38) && (e.which == 38): 
                            for (var i = th - 1; i > -1; i--) {
                                objBounding = divs[i].getBoundingClientRect();
                                if (rep == -1)
                                    if ((objBounding["top"] == 0) && (objBounding["bottom"] == 0) && (objBounding["left"] == 0) && (objBounding["right"] == 0) && (objBounding["width"] == 0)) 
                                        rep = -1;   
                                    else
                                        rep = i;
                            } 
                            if (rep == -1)
                                for (var i = divs.length - 1; i > th - 1; i--) {
                                    objBounding = divs[i].getBoundingClientRect();
                                    if (rep == -1) {
                                        if ((objBounding["top"] == 0) && (objBounding["bottom"] == 0) && (objBounding["left"] == 0) && (objBounding["right"] == 0) && (objBounding["width"] == 0)) 
                                            rep = -1;   
                                        else
                                            rep = i;
                                    }    
                                }                
                            this.links.clickP(divs[rep].querySelector("p"));
                        break;      
                    case (e.keyCode == 39) && (e.which == 39): 
                            if (!parentN.classList.contains("active"))
                                parentN.classList.add("active"); 
                        break; 
                    case (e.keyCode == 37) && (e.which == 37): 
                            if (parentN.classList.contains("active"))
                                parentN.classList.remove("active");
                        break;
                    case (e.keyCode == 113) && (e.which == 113): 
                            this.links.renameFolder(this.links);
                            this.links.contextDiv.style.display = "none";
                        break;   
                    case (e.keyCode == 46) && (e.which == 46):      
                                this.links.deleteFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                        break;  
                    case (e.keyCode == 45) && (e.which == 45):      
                            this.links.addNewFolder(this.links);
                            this.links.contextDiv.style.display = "none";
                        break; 
                     
                    case (e.keyCode == 107) && (e.which == 107): 
                        var divs = this.links.div.querySelectorAll("DIV.folder");
                        for (var i = 0; i < divs.length; i++) 
                            if (!divs[i].classList.contains("active"))
                                divs[i].classList.add("active");    
                            this.links.contextDiv.style.display = "none";  
                        break;
                    case (e.keyCode == 109) && (e.which == 109): 
                        var divs = this.links.div.querySelectorAll("DIV.folder:not(:first-child)");
                            for (var i = 0; i < divs.length; i++) 
                                if (divs[i].classList.contains("active"))
                                    divs[i].classList.remove("active");  
                            this.links.div.querySelector("DIV.folder:first-child > p").focus(); 
                            this.links.contextDiv.style.display = "none";     
                        break;    
                }           
            });
            this.div.addEventListener("contextmenu",function (e) {   
                try { 
                    var p = this.querySelector("p:focus");
                    this.links.clickP(p);
                    this.links.contextDiv.style.display = "block"; 
                    this.links.contextDiv.style.left = (p.getBoundingClientRect()["left"]+ 50) + "px"; 
                    this.links.contextDiv.style.top = (p.getBoundingClientRect()["top"]+ 10) + "px";
                    e.returnValue = false; 
                } catch (ex) {}
            });
            this.contextDiv = document.createElement("DIV");
            this.contextDiv.className = "folderContext";          
            this.contextDiv.links = this;
            this.contextDiv.style.display = "none";    
            this.contextDiv.innerHTML = '<div class="addFolder"  tabindex="1">Ins Создать подпапку</div><div class="renameFolder"  tabindex="1">F2  Переименовать</div><div class="deleteFolder"  tabindex="1">DEL Удалить</div><div class="Cancel"  tabindex="1">    Отмена</div>';
            this.contextDiv.addEventListener("click",function () {                
                    switch (this.querySelector("DIV:focus").className) {
                        case "addFolder":      
                                this.links.addNewFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                            break;       
                        case "renameFolder":      
                                this.links.renameFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                            break;  
                        case "deleteFolder":      
                                this.links.deleteFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                            break;       
                        case "Cancel": 
                                this.style.display = "none";
                            break;   
                    }
            });
            this.divMenu.addEventListener("click",function () {
                    switch (this.querySelector("DIV:focus").className) {
                        case "addFolder":      
                                this.links.addNewFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                            break;    
                        case "renameFolder":      
                                this.links.renameFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                            break;    
                        case "deleteFolder":      
                                this.links.deleteFolder(this.links);
                                this.links.contextDiv.style.display = "none";
                            break;   
                        case "expandFolder": 
                            var divs = this.links.div.querySelectorAll("DIV.folder");
                            for (var i = 0; i < divs.length; i++) 
                                if (!divs[i].classList.contains("active"))
                                    divs[i].classList.add("active");    
                                this.links.contextDiv.style.display = "none";  
                            break;
                        case "foldFolder": 
                            var divs = this.links.div.querySelectorAll("DIV.folder:not(:first-child)");
                                for (var i = 0; i < divs.length; i++) 
                                    if (divs[i].classList.contains("active"))
                                        divs[i].classList.remove("active");  
                                this.links.div.querySelector("DIV.folder:first-child > p").focus(); 
                                this.links.contextDiv.style.display = "none";     
                            break;
                    }
            });
            document.body.appendChild(this.contextDiv); 
            this.createFolders();
        }
        selectP(p) {
            var selecteds = this.div.querySelectorAll("p.selected");
            for (var i = selecteds.length - 1; i > -1; i--)
                selecteds[i].classList.remove("selected");
            p.classList.add("selected");     
            this.selectFunc(this.div.querySelectorAll("p.selected").dataset.id);
        }
        clickP(p) {
            p.focus();       
            this.selectP(p);
            this.selected = p;                           
            this.contextDiv.style.display = "none"; 
        }
        createFolders() {
            this.div.innerHTML = "";
            for (var i = 0; i < this.folders.length; i++) {
                try {
                    var div = document.createElement("DIV");
                    div.className = "folder";
                    div.id = "folder" + i;
                    div.dataset.id = i;
                    div.dataset.parent = this.folders[i][1];
                    div.innerHTML = "<p tabindex='1'>" + this.folders[i][0] + "</p>";
                    div.querySelector("P").addEventListener("focus",function () {
                        this.click();
                    }); 
                    this.div.appendChild(div);
                } catch (ex) {}    
            }
            
            for (var i = 0; i < this.folders.length; i++) {
                try {
                    this.div.querySelector("#folder" + this.folders[i][1]).appendChild(this.div.querySelector("#folder" + i));
                } catch (ex) {}    
            } 
            try {
                this.clickP(this.div.querySelector("DIV.folder:first-child > p"));   
            } catch (ex) {}    
        }
        addNewFolder(links) {
            var newFolder = prompt("Введите название новой папки\r\n");
            if ((newFolder != "") && (newFolder != null)) {
                var ln = links.folders.length    
                links.folders[ln] = [newFolder,links.selected.parentNode.dataset.id]; 
                var div = document.createElement("DIV");
                div.className = "folder";
                div.id = "folder" + ln;
                div.dataset.id = ln;
                div.dataset.parent = links.selected.parentNode.dataset.id;
                div.innerHTML = "<p tabindex='1'>" + newFolder + "</p>";
                links.div.querySelector("#folder" + links.selected.parentNode.dataset.id).appendChild(div);                                  
                links.saveFolders(links.folders);
                if (!links.div.querySelector("#folder" + links.selected.parentNode.dataset.id).classList.contains("active"))
                    links.div.querySelector("#folder" + links.selected.parentNode.dataset.id).classList.add("active");
                links.clickP(div.querySelector("p"));
            }
        }
        renameFolder(links){
            var newFolder = prompt("Введите новое название папки\r\n" + links.selected.innerHTML,links.selected.innerHTML);  
            if ((newFolder != "") && (newFolder != null)) {
                links.selected.innerHTML = newFolder;
                links.folders[links.selected.parentNode.dataset.id][0] = newFolder;                     
                links.saveFolders(links.folders);
            }
        }
        deleteFolder(links){                         
            var id = links.selected.parentNode.dataset.id;
            if (id == 0) {
                alert("Нельзя удалять главную папку");
                return;
            }
            var delFolder = confirm("Вы точно хотите удалать папку '" + links.selected.innerHTML + "' и все ее содержимое?\r\n\r\nВложенные папки и их содержимое удалено не будет.\r\n");
            if (delFolder) {
                var parendDiv = links.selected.parentNode.parentNode.id;
                links.folders[links.selected.parentNode.dataset.id] = null;     
                links.createFolders();  
                var div = links.div.querySelector("#" + parendDiv);
                div.classList.add("active");
                while (true) {
                    div = div.parentNode;             
                    if (div.classList.contains("folderDivVT"))
                        break;   
                    div.classList.add("active");
                }
                links.clickP(links.div.querySelector("#" + parendDiv + " > P"));
                links.deleteFunc(id);   
                links.saveFolders(links.folders);         
            }        
        }
    }
    


    Стили для класса
    .folderDivVT div > p.selected {
        background:#4DB6AC;                     
        color:#f5f5f5;
    }       
    
    .folderDivVT div > p.selected:focus,.folderDivVT div > p:focus {
        background:Teal;
        color:#fff;
    }    
    p:first-letter {
        //color:Teal;
    }
    
    .folderDivVT div {
        margin:5px;
        margin-left:15px;
        width:100%;
    }
    
    .folderDivVT div > p {
        margin:0;
        cursor:pointer;
        padding:3px;
        display:inline-block;   
        white-space: normal;
        word-break: break-word;
        max-width:calc(100% - 22px);
    }
    
    .folderDivVT div > div {
        display:none;
    } 
    
    .folderDivVT div.active > div {
        display:block;
    }
    
    #foldersDiv {
        position:fixed;
        left:0;
        top:50px;
        padding:10px;
        width:300px;
        overflow:auto;
        height:calc(100% - 50px);
        z-Index:1000;
    } 
    
    .folderDivVT div:before {  
        content: " ";  
        color: #fff;  
        background-image: url('data:image/png;base64,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');    
        display:inline-block;
        width: 16px;
        height: 16px;
        background-size: cover;
        margin-right:5px;       
        float: left;
      
    }
    
    .folderDivVT div.active:before {  
        background-image: url('data:image/png;base64,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');    
    }
    .folderDivVT {
        overflow: auto;
        height: calc(100% - 28px);
    }
    
    .folderMenuVT {  
        text-align:center;
        width:100%;          
        border-bottom:1px solid #999;
    }
    .folderMenuVT > div:before {  
        content: "";  
        color: #fff;  
        display:inline-block;
        width: 24px;
        height: 24px;
        background-size: cover;
        margin:0;
        margin-right:5px;  
        cursor:pointer;
      
    }
    .folderMenuVT > div {  
        display:inline-block;
    }
    
    .replaceFolder:before {
        background-image:url('data:image/png;base64,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');
    }                     
    .renameFolder:before {
        background-image:url('data:image/png;base64,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');
    }                     
    .deleteFolder:before {
        background-image:url('data:image/png;base64,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');
    }                    
    .addFolder:before {
        background-image:url('data:image/png;base64,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');
    }
    .expandFolder:before {
        background-image:url('data:image/false;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEF0lEQVRYhcWXX0sbWRTAf3c6zowxsY7/sNZURZrSgEW3UBAWUQoVn/vsU1n24+zbfgED+wX2zQcLPhT2bVmbNA+uoBLCilKDJmMyc+8+7Mw0k9wk7bbSAxfmnDn3nN89998MfGcRnYZisTgKGHeYs5bP52UXQLFY/OHevXu/2badE6KL65vJ7e1t1ff9n/L5/O8JgHK5XLYsK9doNO4sOYBt20gpr1utVjafz380AN6/fz8K5Or1Okopzs7OqNVqKKW+efM8DyllWimVg09zbfi+H1OenJxweXl5Z1UIcxkAJoBSKuEQBAGe59E+HUopbNvGMD6tz/Pzc66urrRJhBDMz89jmmZfGO3bIAioVqtUq9XYZhgGT58+ZWJiIra9ffuW09PTnsFfv37N/Pz8YABdBVzXTXQWQpDJZBK+W1tb3Nzc9Aw+PT3dFVsL0ClBEDAyMsLY2FjfzplMhkwm09dnkPSsQKVSSYxOCMHi4iLpdDq27e/vc3Jyog0shGB7e5upqanBAFLKhFFKSbPZpNlsAtBoNKjX67iuSyqViv0ymUxiTXQFN82u2FoAXQWy2SxPnjwBoFar8e7dO6SUCd/V1dW+wXWxtQCdoqOWUuJ5HvV6HQDLshJbTClFuVym1WppE9m2TS6X0wPoKtA+WqUUQRBQKpUolUoAZLNZnj17FvdptVrs7e31Hqlp8vjx468DePToEXNzcwCk0+lEP9M0efPmDUEQ9ATQTYcWQEqZAIj0+/fvMz4+Hvt19rNtW5u8l38M0DnnUQUiu5SSIAj48OEDx8fHADx8+JClpaW4j+/77O7u0n6ntIvjOOzs7OgBBk1BKpViYWEhAeo4TqKfYRgsLy/3BLBtu3cFOiUCiJ1MM7HgdCKE4Pnz5319dNJzDbRvucg2PDycuA2vr6+1d4HruliW9fkAujVwdHREpVKJbYZhsLKywuzsbGw7ODjQ3oYvXrwYWLG+AOvr64kD5eLiglKpRKPRSPiura1pE7muO/AI7gswOTmZ0B3H4fDwEKVUwjeVSiXuhnb5IoBB53V0EB0dHcWfajMzMzx48CCRcH9/v2sXGIbBxsYGQ0ND/x/AcRxc16XRaMSfaUNDQ8zMzCQge8Xp9y4C8JRSPj22pWVZvHr1qsveWeaXL1/S+U8RTZtmSuoQfplubm56SqnC135yB0GA7/uJFgSBzvcPpdRhXIFCoYCU8mchxJ9KqdUQLGoopeLnLxAphIiGLcOGEOJv4JdqtfqfXigUUkAemAWmgXFgBBgFUmFiJ9Q/F0ICNcALn+uhfgNcAv8AFaBoAmPAj8ByCDEaNjNMbLUlNjp0XeJmNNo23QP8EKIWJv8LqJih8msYOGrRyFMhRCRGCNzrb8MHPrYBECavt1Wi2d7+BZ6ExPU18NzUAAAAAElFTkSuQmCC');
    }
    .foldFolder:before {
        background-image:url('data:image/false;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADYklEQVRYhe2Xv48bRRTHP/PGvy7nuyMh8hnRIJEIBRAFFJx0BW2EaCkQDUX+EgSihX8C0dMADVIKChqQAAUJHYHLBSW+I168xus9vPModvaXd+1LcegoMtKzZ2fevved7/vOjG1UlYtscqHZnwD4PwBolR/e//Dj51R1+N+m1OjZ4TM/3Lr1jqsA+OCjT95+7dWXP7t65bI4dVixKMpWf+vcUs/jmCAIuPPzwafAuxUAw93BzZ2dbZnNI9QpqopYod3pnhuAWRRhxDAcDt7MxnIAiXM2mMTM5zGG4mx4NI7ODYCq0u50ieanufZKAIQoinnr5j6tVgtrLWAwZn1Qc5bDEoCvb39LEBTazwF02h2stbTabUYPj9ndHQBKHMc4hUsb5VIYnzwNugRpLeiNXg9r23UAYi0iktffOcdvhw+4e/iQl168Tq/bKa+ljCODU8yZ4qkC2qSMiS1mcy6sFUQE55QkSRgHfzEajTi6d0g4CXHOeVOcenOKuvS7mPc+NXO4xIExWLF1BqxN6+5UMUbo9/vM/g7ptAFd4Fxp1fVulREtjS9RkTLQAEDEYozkK0Rhf38vd3S+1kY1p7NWfc2KUPgsVQtYyYAgVlD1GlBlMpkxDqbsbPe5/NSmD+4/lwPngAotmBJCzdgxxu8wv/C8Yy0iNle1qnLy55if7vzC/DRJ6611q+hBaZ7TVCvq0vJKEwDrd4FTSBLHZBJy99cD7h/9TjB+hJIFA6f4ZFXLk1Usm0ttmYGqCMWiihfhFjduvMD1a8/z9NUraE55XgSaNlu9VZVijDRrQKxgRHJ/BQaDAadxnCYvjVeCl0RgGn0KnCZFsKIE4hnwAVTh/h/HfP/jAdGpFuPL5ikmK8UaH1WQVSK0VjCSQlXnmE5DTk6OObp3yHQ6rQRpauo3XxlQ3afOQOUotrbQwKXN9CBqWVC3qAbSEq/LFJeTNYAQkVUiTHdBcbILr+/t1QKsa1m+xnsg660UofhzANjc2s5XULpiVkXPT5mab8M76VHccB2j6kQss1lEr9v1F0dDstWx1/h7banyzyIBxdUAhOHkq15v470Ho4lZLBYNQc7K/ngvdLtdwvD4y3yk/IPi8y++uWbUDB8/eF2IZ/kamPf7G9+9sf9KUgNwEe3C/5g8AfAvi4r5BDE0EIsAAAAASUVORK5CYII=');
    }
                     
    
    #folderMainDiv {
        width:300px;
        height:100%;
        position:fixed;
        top:0;
        left:0;
        border-right:1px solid #999;    
        padding-top: 10px;
        background-color:rgba(255,255,255,1);
    }
    
    
    .folderContext {
        position:fixed;
        border:2px ridge #004D40;
        position:fixed;
        width:180px;     
        padding: 0px;
        cursor: pointer;
        color:#050505;  
        background: #fff;
        z-Index:1001;
    }
    .folderContext > div {
        padding:5px;          
        border:1px solid rgba(255,255,255,0);  
        border-width: 1px 0 1px 0;
    }             
    .folderContext > div:hover {
        background-color: #00695C; 
        color:#ffffff;  
        border:1px solid #26A69A;
        border-width: 1px 0 1px 0;
    }
    .folderContext > div:first-Child:hover {
        border-top:1px solid #00695C;     
    }
    .folderContext > div:last-Child:hover {
        border-bottom:1px solid #00695C;     
    }
    .folderContext > div:before {  
        content: "";  
        color: #fff;  
        display:inline-block;
        width: 16px;
        height: 16px;
        background-size: cover;
        margin:0;
        margin-right:5px;  
      
    }
    
    #tempContextFolder {
        display:none;
    }
    


    Пример использования класса можно увидеть на Github.

    Кому лень ходить на Github


    В итоге получился класс, в котором работают кнопки верх, низ, влево, вправо, таб, ins, del, f2, а также естественно мышь, и контекстменю ))).

    Папки с блекджеком и…

    Следующим делом добавляю в строке поиск «event» на событие «input», для того чтобы результаты поиска появлялись моментально.

    Пример на Github.

    Для тех кому лень экспериментировать
    До ввода теста в строку поиска



    После того как пользователь начал вводить данные в поисковую строку



    То же только в DIV добавлено css свойство opacity 0.5




    Ну и в конце редактирую manifest.json. И даю название расширению «Notes beta 1».

    Редактирование названия



    Расширение готово к использованию.

    Фото отчет --- Как оно работает
    Основное окно



    Создание новой заметки



    Отображение заметки при наведении мышки на нее



    Поиск заметок



    Код расширения на Github.

    p.s. Жду конструктивной критики.
    p.p.s. В классе Folders не работает функция «Переместить». На реализацию логики немного не хватило времени. Также все картинки в стилях преобразованы в base64.
    p.p.p.s. Основная задача топика — написать быстро расширение без использования фреймворков.
    Share post

    Comments 16

      +7
      Ну, коль уж вы хотели конструктивной критики:
      — не стоит вызывать getBoundingClientRect() для одного и того же элемента подряд строка за строкой — это добавляет нагрузку, лучше вынести в отдельную переменную первый запуск, а затем уже обращаться к свойствам;
      — обращаться к свойствам объекта можно не только через квадратные скобки, но и через точку;
      — document.getElementById('title') сработает быстрее, чем document.querySelector("#title") (так для всех обращений по id) (про window.title молчу, т.к. лучше про него забыть));
      — для элементов, которые не меняются и к которым часто происходит обращение, лучше завести отдельный объект типа кэша, чтобы каждый раз через селекторы не обращаться (или в вашем случае можно «забиндить» слушателей событий на this, чтобы обращаться к тем же самым созданным div'ам);
      — стили лучше менять с помощью классов — браузер в таком случае применяет сразу весь набор новых стилей, а не строчка за строчкой, каждый раз перерисовывая элемент;
      — код лучше разнести по разным файлам, в зависимости от назначения;
      — стили так же лучше вынести туда, где они должны быть, то есть в css-файлы;
      — если появление дополнительных ненужных отступов заставляет вас писать в строку элементы html, то можно убрать шрифт для всей страницы (font-size:0px;), а включить его там, где он непосредственно нужен, чтобы красивее отобразить html-код;
      — честно говоря, не понимаю, для чего вам end.js, лучше его удалить, а так же убрать из манифеста возможность редактировать страницу любого сайта — это вызовет больше доверия у потенциальных пользователей;
      — структура рода [«Мои записки»,0] ведет к ненужной жесткости кода — вам потом понадобиться добавить еще какое-то свойство, придется расширять массив и менять функцию-обработчик, я бы советовал заменить на объект;
      — очень много дублирования кода;
      — на каждое нажатие клавиши вы запускаете перебор по всем div'ам — это ужасно — если вы хотите найти следующий (предыдущий) элемент за родителем абзаца, который находится в фокусе, пользуйтесь nextElementSibling /previousElementSibling, с проверкой на существование;
      — вы сравниваете e.keyCode и e.which на одно и то же значение, используйте любой из них (лучше keyCode) и пользуйтесь своим switch по-нормальному на здоровье (если вдруг так уж случилось, что они у вас работают по-разному, то можно воспользоваться конструкциями вида key=e.keyCode||e.which);
      — вместо одного универсального слушателя лучше вешать на каждый элемент свой и отдельно повесить на нажатие по контекстному меню на скрытие;
      — и к детям лучше все-таки обращаться через children (childNodes).
      Честно скажу, код особо не читал, написал только то, что сразу бросилось в глаза, поэтому есть ли в логике самого расширения какие-то ошибки и недочеты, не могу сказать (код отвлекает). Для чего используется focus на элементах p тоже не знаю, но, думаю, лучше обойтись без него.
      Основным итогом будет следующий: не используйте querySelector как панацею, ищите более быстрые альтернативы, применяйте файлы html, js и css для тех целей, для которых они предназначаются, в манифесте должно быть перечислено только то, что используется (файлы, разрешения).
        +1
        Спасибо большое за комментарий.

        — не стоит вызывать getBoundingClientRect() для одного и того же элемента подряд строка за строкой — это добавляет нагрузку, лучше вынести в отдельную переменную первый запуск, а затем уже обращаться к свойствам;
        В классе я так и действовал, нашел лишь одно место где обращался дважды к getBoundingClientRect().

        — обращаться к свойствам объекта можно не только через квадратные скобки, но и через точку;
        Спасибо, что напомнили. Первый мой язык для веба был php. Он показывал ошибку при обращении в stdClass() к элементу имеющему имя на кириллице.Это привело к тому, что я привык в php обращаться к свойствам через скобки. И сказалось на мой стиль программирования в JS.

        Как сейчас состоит дело со свойствами на кирилице







        — document.getElementById('title') сработает быстрее, чем document.querySelector("#title") (так для всех обращений по id) (про window.title молчу, т.к. лучше про него забыть));
        Я отказался работать с getElementById() в тот момент когда понял что он выдергивает только одно значение. В теле страницы могут быть несколько элементов с одним id, при парсинге товарных агрегаторов я раз и навсегда отказался от getElementById(), и перешел на querySelector() и querySelectorAll()

        — для элементов, которые не меняются и к которым часто происходит обращение, лучше завести отдельный объект типа кэша, чтобы каждый раз через селекторы не обращаться (или в вашем случае можно «забиндить» слушателей событий на this, чтобы обращаться к тем же самым созданным div'ам);
        Я не совсем понял о чем тут речь.

        — стили лучше менять с помощью классов — браузер в таком случае применяет сразу весь набор новых стилей, а не строчка за строчкой, каждый раз перерисовывая элемент;
        Так я итак использую классы. Не везде конечно, но там где мне нужно точно переопределить css к элементу. Так как обращение в ccs к id(#) важнее чем обращение к классу элемента(.)

        — код лучше разнести по разным файлам, в зависимости от назначения;
        — стили так же лучше вынести туда, где они должны быть, то есть в css-файлы;
        — честно говоря, не понимаю, для чего вам end.js, лучше его удалить, а так же убрать из манифеста возможность редактировать страницу любого сайта — это вызовет больше доверия у потенциальных пользователей;
        — структура рода [«Мои записки»,0] ведет к ненужной жесткости кода — вам потом понадобиться добавить еще какое-то свойство, придется расширять массив и менять функцию-обработчик, я бы советовал заменить на объект;
        — очень много дублирования кода;
        — вы сравниваете e.keyCode и e.which на одно и то же значение, используйте любой из них (лучше keyCode) и пользуйтесь своим switch по-нормальному на здоровье (если вдруг так уж случилось, что они у вас работают по-разному, то можно воспользоваться конструкциями вида key=e.keyCode||e.which);
        p.p.p.s. Основная задача топика — написать быстро расширение без использования фреймворков. Смысл быстро написать и запустить

        — если появление дополнительных ненужных отступов заставляет вас писать в строку элементы html, то можно убрать шрифт для всей страницы (font-size:0px;), а включить его там, где он непосредственно нужен, чтобы красивее отобразить html-код;
        За этот трюк большое спасибо!!!

        — на каждое нажатие клавиши вы запускаете перебор по всем div'ам — это ужасно — если вы хотите найти следующий (предыдущий) элемент за родителем абзаца, который находится в фокусе, пользуйтесь nextElementSibling /previousElementSibling, с проверкой на существование;
        nextElementSibling /previousElementSibling взял на заметку. Просто забыл про существование это навигации.

        — вместо одного универсального слушателя лучше вешать на каждый элемент свой и отдельно повесить на нажатие по контекстному меню на скрытие;
        Вот здесь Вы не правы. Я создал массив папок из 200 элементов. Потом повесил на каждый элемент по обработчику события. В итоге Страница с действующим классом, начала подвисать при event'ах, а у меня очень даже нормальный ноутбук. И учитывая, что на странице может быть не один экземпляр класса мне пришлось переписать логику так чтобы event'ов было не так много.

        и еще раз большое спасибо за такой развернутый комментарий.
          +2
          Я отказался работать с getElementById() в тот момент когда понял что он выдергивает только одно значение. В теле страницы могут быть несколько элементов с одним id

          Могут, но не должны, id есть уникальный идентификатор элемента, наличие нескольких — ошибка семантики. Для выбора нескольких элементов есть более другие методы, содержащие elements в названии (getelementsbyclassname() например).
            0
            Полностью с Вами согласен.

            Но закон не писан для многих.

            Да и в принципе это не создает никаких проблем если обращаться к id посредством querySelector().
            0
            В классе я так и действовал, нашел лишь одно место где обращался дважды к getBoundingClientRect().

            Я имел в виду:
            this.links.contextDiv.style.left = (p.getBoundingClientRect()[«left»]+ 50) + «px»;
            this.links.contextDiv.style.top = (p.getBoundingClientRect()[«top»]+ 10) + «px»;
            и
            var leftCR = a.getBoundingClientRect()[«left»];
            var topCR = a.getBoundingClientRect()[«top»];
            var widthCR = a.getBoundingClientRect()[«width»];
            var bottomCR = a.getBoundingClientRect()[«bottom»];


            Я отказался работать с getElementById() в тот момент когда понял что он выдергивает только одно значение. В теле страницы могут быть несколько элементов с одним id, при парсинге товарных агрегаторов я раз и навсегда отказался от getElementById(), и перешел на querySelector() и querySelectorAll()
            Просто оставлю это здесь. Но, в конце концов, это ваш продукт, поэтому вам принимать окончательное решение в плане выбора способа, мы лишь советуем.

            По поводу отдельного объекта для кэша — здесь все зависит от логики работы вашего расширения — но в виду того, что элементы на странице не могут возникать из ниоткуда, а создаются непосредственно js-скриптом, то можно ссылки на них помещать в отдельный объект, чтобы через него быстрее обращаться к элементам, даже посредством того же перебора. Хранение не сильно нагрузит память, т.к. в объекте или массиве будут храниться ссылки на объекты.

            По поводу «биндинга» — Привязка контекста и карринг: «bind».

            Вот здесь Вы не правы. Я создал массив папок из 200 элементов. Потом повесил на каждый элемент по обработчику события. В итоге Страница с действующим классом, начала подвисать при event'ах, а у меня очень даже нормальный ноутбук. И учитывая, что на странице может быть не один экземпляр класса мне пришлось переписать логику так чтобы event'ов было не так много.

            Здесь я имел в виду контекстное меню.
            Напишите, пожалуйста, пример того, как вы вешали слушателей (или дайте ссылку на него) — интересно взглянуть, т.к. у самого есть проект с достаточно большим числом объектов на странице, на каждом из которых висит отдельный слушатель, и пока тормозов и подвисаний замечено не было.
              0
              Я отказался работать с getElementById() в тот момент когда понял что он выдергивает только одно значение. В теле страницы могут быть несколько элементов с одним id, при парсинге товарных агрегаторов я раз и навсегда отказался от getElementById(), и перешел на querySelector() и querySelectorAll()
              Просто оставлю это здесь. Но, в конце концов, это ваш продукт, поэтому вам принимать окончательное решение в плане выбора способа, мы лишь советуем.


              Насчет скорости доступа я согласен. Быстрее обращение к id. Но дело не в скорости, а в том я для себя решил работать в js c css селекторами. Возможно в каком то другом проекте и потребуется использовать именно getElementById, но пока querySelector.

              Тесты






              Плюс по скринам видно, что миллион обращение к id и к селектору примерно выполняются за 100 и 300 секунд. Для меня не критично в данном проекте ускоряться за счет id.

              Вот здесь Вы не правы. Я создал массив папок из 200 элементов. Потом повесил на каждый элемент по обработчику события. В итоге Страница с действующим классом, начала подвисать при event'ах, а у меня очень даже нормальный ноутбук. И учитывая, что на странице может быть не один экземпляр класса мне пришлось переписать логику так чтобы event'ов было не так много.

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


              Вначале я начал писать этот класс и вешать непосредственно на элементы «p» все события. К сожалению первоначальный код не сохранился.

              И еще раз спасибо за критику.
          +1
          Пример создания одного extension chrome

          тогда уж или «Пример создания одного chrome extension» или «Пример создания одного chrome-расширения» или «Пример создания одного расширения для chrome».
            0
            Спасибо, перечитал несколько раз заголовок. Понял что к чему прилагается )))
            0
            А можно использовать Yeoman и генератор Yeoman.
            • UFO just landed and posted this here
                0
                Да это все влияние Java.

                На досуге начал изучать, и оттуда потянуло.
                0

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


                1. Класс-портянку рассортировать, ибо SOLID;
                2. Мух от котлет отделить. HTML, CSS и JS должны быть в отдельных файлах;
                3. Менять CSS стили во время выполнения нехорошо и неинформативно.
                4. Соглашения о наименованиях и стиле кода существуют не просто так;
                5. CSS без препроцессора? В 2017 году?

                Взаимодействия с WebSQL или IndexedDB тоже не видно. Это что только интерфейс?

                0
                Да, да, веселый, ведь он настолько не типизирован, что объект может иметь свойство в виде самого себя ) Причем при обращении к этому свойству мы реально изменяем сам объект.

                Вот только типизация тут ни при чём. В типизированных языках такое тоже возможно.
                  +1
                  Вот это
                  $obj->Русские_буквы

                  — зло.
                  Можете объяснить, зачем Вам кириллица в именах?
                  Вот так, что без этого совсем никуда…
                  Если это про «национальную гордость великороссов», то представьте, что вам достался на поддержку китайский проект, а они гордыми оказались…
                  Про
                  «svoistvo»
                  вообще промолчу… Чем «property» не угодило? Английского не знаете?
                  Javascript изучаете, изучите азы английского заодно. Не трудно и пригодится много где еще.

                  Общее впечатление от Вашего подхода — нет структуры, каша какая-то.
                  Уж простите за такую критику.
                    0
                    YuryZakharov, спасибо за комментарий.

                    Вот это
                    $obj->Русские_буквы

                    — зло.
                    Можете объяснить, зачем Вам кириллица в именах?
                    Вот так, что без этого совсем никуда…
                    Если это про «национальную гордость великороссов», то представьте, что вам достался на поддержку китайский проект, а они гордыми оказались…


                    Вот смотрите, допустим вы парсите какой нибудь сайт, в его коде элементы различаются по dataset свойствам (к примеру data-auth=«Тиничев Валерий»). Вот именно при обработке таких блоков и возникают не англоязычные имена свойств.
                    Или другой пример.
                    Вы обрабатываете текст на поиск повторяющихся значений. Намного проще давать key именно часть текста не зависимо от языка. Это лишь при обработке данных.

                    «svoistvo»
                    вообще промолчу… Чем «property» не угодило? Английского не знаете?
                    Javascript изучаете, изучите азы английского заодно. Не трудно и пригодится много где еще.


                    property — всем угодило. Но для быстроты и наглядности использовал именно русское слово на латинице.

                    Общее впечатление от Вашего подхода — нет структуры, каша какая-то.

                    p.p.p.s. Основная задача топика — написать быстро расширение без использования фреймворков. Быстро написать в течении дня, максимум двух. И быстро запустить.

                    Уж простите за такую критику.

                    Наоборот спасибо Вам за критику, если человек не критиковать он остановиться в развитии. Ведь сам себя любой может простить и понять. )))

                  Only users with full accounts can post comments. Log in, please.