Добавить новый пункт "Перезапуск" в главном меню(Firefox 24+)
Автор: bunda1
Версия: от 20.06.2016.
Описание: Kод добавляет новый пункт Перезапуск в меню "Файл" и в меню кнопки "Firefox" над пунктом Выход, новый пункт перезапускает Firefox.
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню, от 20.06.2016. ......................
(()=> {
    var menuItem = document.createElement("menuitem");
    menuItem.setAttribute("id", "restart_firefox");               
    menuItem.setAttribute("label", "Перезапуск");
    menuItem.onclick =()=> setTimeout(()=> Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart), 0);    
    addDestructor(()=> menuItem.remove());
       
    var quitItem = document.getElementById("menu_FileQuitItem"); // в меню 'Файл'
    quitItem.parentNode.insertBefore(menuItem, quitItem);
    
    var appmenuQuit = document.getElementById("appmenu_quit") || document.getElementById("appmenu-quit"); // в меню kнопки "Firefox"
    appmenuQuit && appmenuQuit.parentNode.insertBefore(menuItem.cloneNode(true), appmenuQuit);
})();

Тот же код но пункт Перезапуск будет с иконкой.

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню, от 20.06.2016. ......................
(()=> {
    var menuItem = document.createElement("menuitem");
    menuItem.setAttribute("id", "restart_firefox");               
    menuItem.setAttribute("label", "Перезапуск");
    menuItem.setAttribute("class", "menuitem-iconic");
    menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/Pz8A/v7+gX7+/oF+fn4B////wB7d3JQDgYA8A4GAPB7d3JQ////APv7+gX8/PsD//7/AP///wD///8A////AP///wD///8A/v7+Af///wDx8fAFIRoU2BEJAP8RCQD/IRoU2PLx8AX///8A/Pz8Af7+/gL///8A////AP///wCalpFfgHx1jYiEfoCUkYt26unnDh4YFdgLAwD/DAQA/xoUEN38/PwAfXl0Wnp2cF////8A/v7+A////wD///8Aw8G9LwwJBuoAAAD/Ew8P7/f4+AeIhIBHHBUK4hsUCOKOi4dH1NTSCQUBAOkAAAD/iYV/U////wD8/PwD////AMrKxxUaEwfhDwcA/yMcFOvy8fAQ////APDv7gjw7+4H////APf39wBlYFx/CQIA/w0FAOjBv70Z////AP///wBbV1V/AAAA/zIsI8E6NTC+5+foGf///wD+/v4C////Afz8/AP///8B8fHxADYxKq0AAAD/aGRidv///wD19fUANC0lxAAAAP+ppqJE5eTjD+3t7A////8A/v7+Af7+/gH///8A+/v6BP///wCjoZxGAgAA/ykkHMDv7+8A7u3uDSghGOcFAAD8wsG+Hv///wD8/PwB////AP///wD///8A////APz8/AH///8Aw8G+GwQAAPwqIhji7+7uCu7t7gwoIRjlBQAA+sPBvhn///8A/Pz8Av///wD///8A////AP///wD8/PwB////AMPBvhkFAAD6JyAY5u7t7gz19fUANC0lxAAAAP+koZxF////APr6+gT///8A////AP///wD///8A+vr6BP///wCkoZxFAAAA/zMtJcP19fUA////AF1YVn0AAAD/NjEprfHx8QD///8E+vr6BPz8/AH8/PwB+vr6BP///wTx8fEANjEprQAAAP9dWFZ8////AP///wDBv70bCwQA6wkBAP9lYFx69vb1AP///wH+/v4A/v7+AP///wH29vUAZWBcegkBAP8LBADrwb+9Gv///wD8/PwD////AHl1cFgAAAD/CQIA/zUuJq6ppqE/x8XCF8fFwheppqE/NS4mrgkCAP8AAAD/eHVwV////wD8/PwD////AP7+/gP///8Ae3dwVgoDAO8BAAD/AgAA/wQAAPoEAAD6AgAA/wEAAP8KAwDvendwVv///wD+/v4D////AP///wD///8A/fz8A////wDDwL8aYFpTfjQtIsYoIRbmKCEW5jQtIsZgWlN+w8C/Gv///wD9/PwD////AP///wD///8A////AP7+/wD8/PwD////Af///wDz8vIB7u3sC+7t7Avz8vIB////AP///wH8/PwD/v7/AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==");
    menuItem.onclick =()=> setTimeout(()=> Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart), 0);    
    addDestructor(()=> menuItem.remove());
       
    var quitItem = document.getElementById("menu_FileQuitItem"); // в меню 'Файл'
    quitItem.parentNode.insertBefore(menuItem, quitItem);
    
    var appmenuQuit = document.getElementById("appmenu_quit") || document.getElementById("appmenu-quit"); // в меню kнопки "Firefox"
    appmenuQuit && appmenuQuit.parentNode.insertBefore(menuItem.cloneNode(true), appmenuQuit);
})();

Круто!
До этого пользовался подобной штукой.Только в версии 8 браузера кнопка срабатывала не сразу а со второго раза.
А с этим кодом проблем нет работает на ура.

поподробней об портативной [firefox]

feas пишет

поподробней об портативной [firefox]

будет работать, я проверял на portable

bunda1 Иконку возможно прикрутить к этому пункту меню? Хочу заменить аналогичное расширение на этот код, но в том расширении была иконка :(
4L1MxzKI.png

Kiril__777

Добавить новый пункт "Перезапуск" в главном меню( с иконкой )

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню( с иконкой ) .....................................................
(function() {
    // блокировать дублирование пункта при открытии настройки панелей
    if ( document.getElementById("restart_firefox") ) return;
    
    var menuItem = document.createElement("menuitem");
    menuItem.setAttribute("id", "restart_firefox");               
    menuItem.setAttribute("label", "Перезапуск");
    menuItem.setAttribute("class", "menuitem-iconic");
    menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/Pz8A/v7+gX7+/oF+fn4B////wB7d3JQDgYA8A4GAPB7d3JQ////APv7+gX8/PsD//7/AP///wD///8A////AP///wD///8A/v7+Af///wDx8fAFIRoU2BEJAP8RCQD/IRoU2PLx8AX///8A/Pz8Af7+/gL///8A////AP///wCalpFfgHx1jYiEfoCUkYt26unnDh4YFdgLAwD/DAQA/xoUEN38/PwAfXl0Wnp2cF////8A/v7+A////wD///8Aw8G9LwwJBuoAAAD/Ew8P7/f4+AeIhIBHHBUK4hsUCOKOi4dH1NTSCQUBAOkAAAD/iYV/U////wD8/PwD////AMrKxxUaEwfhDwcA/yMcFOvy8fAQ////APDv7gjw7+4H////APf39wBlYFx/CQIA/w0FAOjBv70Z////AP///wBbV1V/AAAA/zIsI8E6NTC+5+foGf///wD+/v4C////Afz8/AP///8B8fHxADYxKq0AAAD/aGRidv///wD19fUANC0lxAAAAP+ppqJE5eTjD+3t7A////8A/v7+Af7+/gH///8A+/v6BP///wCjoZxGAgAA/ykkHMDv7+8A7u3uDSghGOcFAAD8wsG+Hv///wD8/PwB////AP///wD///8A////APz8/AH///8Aw8G+GwQAAPwqIhji7+7uCu7t7gwoIRjlBQAA+sPBvhn///8A/Pz8Av///wD///8A////AP///wD8/PwB////AMPBvhkFAAD6JyAY5u7t7gz19fUANC0lxAAAAP+koZxF////APr6+gT///8A////AP///wD///8A+vr6BP///wCkoZxFAAAA/zMtJcP19fUA////AF1YVn0AAAD/NjEprfHx8QD///8E+vr6BPz8/AH8/PwB+vr6BP///wTx8fEANjEprQAAAP9dWFZ8////AP///wDBv70bCwQA6wkBAP9lYFx69vb1AP///wH+/v4A/v7+AP///wH29vUAZWBcegkBAP8LBADrwb+9Gv///wD8/PwD////AHl1cFgAAAD/CQIA/zUuJq6ppqE/x8XCF8fFwheppqE/NS4mrgkCAP8AAAD/eHVwV////wD8/PwD////AP7+/gP///8Ae3dwVgoDAO8BAAD/AgAA/wQAAPoEAAD6AgAA/wEAAP8KAwDvendwVv///wD+/v4D////AP///wD///8A/fz8A////wDDwL8aYFpTfjQtIsYoIRbmKCEW5jQtIsZgWlN+w8C/Gv///wD9/PwD////AP///wD///8A////AP7+/wD8/PwD////Af///wDz8vIB7u3sC+7t7Avz8vIB////AP///wH8/PwD/v7/AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==");
    menuItem.setAttribute("oncommand", "Application.restart()");    
    
    var QuitItem = document.getElementById("menu_FileQuitItem"); // в меню 'Файл'
    QuitItem.parentNode.insertBefore( menuItem, QuitItem );
    
    var appmenuQuit = document.getElementById("appmenu_quit") || document.getElementById("appmenu-quit"); // в меню kнопки "Firefox"
    if ( appmenuQuit ) appmenuQuit.parentNode.insertBefore( menuItem.cloneNode(true), appmenuQuit );
})();

Такую штуку наверное можно сделать стилем?
Что-то вроде:

Выделить код

Код:

.button-link[anonid = "restart-btn"]:after { z-index:99; display:inline; min-width:20px; min-height:20px; }

Только вставить в менюшку, я точно не помню свойство для этого.

geczu
Не знаю насчет стиля.

bunda1
-1 расширение, спасибо!

bunda1
Спасибо! Зачем-то я не искал это на неделю раньше, когда тестировал перевод расширения.

У  меня  код из "Добавить новый пункт "Перезапуск" в главном меню( с иконкой )" не добавляет пункт в меню "Файл" и кнопку Firefox. :(

PEAKTOP
Должен добавлять, может ты не положил код в вкладку инициализации или у тебя конфликт с каким то расширением типа Menu Editor.

Прошу меня извинить, ошибочка вышла. Действительно работает. Создал новую кнопку, вставил код и пункт появился. Проблема была с добавлением в уже существующую кнопку.

bunda1
А можно кнопку на хоткей посадить? (привычка рестартовать Файрфокс по Alt+R)

Спасибо. Пользовался другой кнопкой, но в меню удобней. А если возможно прикрутите подтверждение перегрузки.
891d3005ba9ee2d6d2cff915135544db.jpeg

okkamas_knife, спасибо.

Mishania пишет

Спасибо. Пользовался другой кнопкой, но в меню удобней. А если возможно прикрутите подтверждение перегрузки.

Замени:

Выделить код

Код:

setAttribute("oncommand", "Application.restart()");

на:

Выделить код

Код:

setAttribute("oncommand", "if ( custombuttons.confirmBox('', 'Перезагрузить браузер', 'Рестарт', 'Отмена') ) Application.restart();");

bunda1
Спасибо.

А можно отдельный вариант ввиде перетаскиваемой кнопки (для того же австралиса пригодится)?

На основе этого:

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в меню kнопки "Firefox", от 08.09.2013. ................................
(function() {
   var menuitem = document.createElement("menuitem");
   var separator = document.createElement("menuseparator");
             
   menuitem.setAttribute("label", "Restart");
   menuitem.setAttribute("oncommand", "if ( custombuttons.confirmBox('', 'Restart App?', 'Yes', 'Cancel') ) Application.restart();");
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACHElEQVR4Xt2RTU8TURSGIWxZYUhwYww7d/4E/4CbxrBybUhMP6cflFFIrYqVDeq0801BEG3apBYIwUY1UeKiCxek7XTmDhbSail2aJu2gCge71gJQAnsucnNXZzzPu+55207p8fFp6+7RXnRLaQLblH6Ojgui0422XWm0MGmOgcEaYGcQOUHkSJ4XuZ2yUkVkZMrnwYn0FsnL/WcCnDy8tzj2PrP6cQWjERytQEhQx2u94+lL5gCyo0TxTZGMtx9nq0KS3XwRQtb2Fk43mOm0byVRTsYcqkFQLBK3BsuwkhUAyen5Akm03FM3OcKZuv8xxpYGJTAkPamM6tECBat2Dmk+WJl8EY2fmFYxcGhkkNAvC7Gzd1mBmn0uwrcD2vgEFerGGj8T1Z6rRxqYCH4ZsvwMFqCO9P53wSnxg/clfjobOnPvdAGeMMlGJ4pAgY0MLj3HwSPZHQF16pNgAY27G5hlO7m1+RhO480Ky3Xh2a+7Xle/QBzQN4meKVBcMr7fYd2K6smPKH1PYeYrWBg3+F0TFS6w+zP5J+8qQI59R0sATnekoK+WTxW3cKo8y01v0STU2vbj15vAk6hYqRShhOj1DPWsz4SnT9F2Xml5ott6svbwdPMHRG1uiV7bKz8AaezhF/VFVzdHXpRACudKZuo5ILx6XJn2xmn6+q1m1f6Rz+Hbo99yRmfLRewcNFgHr+Fa5fxvaj37Av+AmnCRMA1vlkVAAAAAElFTkSuQmCC");
   var appmenuQuit = document.getElementById("appmenu_quit") || document.getElementById("appmenu-quit");
   var menu = appmenuQuit.parentNode;
   menu.insertBefore( menuitem, appmenuQuit ); 
   menu.insertBefore( separator, menuitem );
   
   addDestructor(function() { menu.removeChild( menuitem ); menu.removeChild( separator ); });
})();
Northtech пишет

А можно отдельный вариант ввиде перетаскиваемой кнопки (для того же австралиса пригодится)?
На основе этого:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname/%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACHElEQVR4Xt2RTU8TURSGIWxZYUhwYww7d/4E/4CbxrBybUhMP6cflFFIrYqVDeq0801BEG3apBYIwUY1UeKiCxek7XTmDhbSail2aJu2gCge71gJQAnsucnNXZzzPu+55207p8fFp6+7RXnRLaQLblH6Ojgui0422XWm0MGmOgcEaYGcQOUHkSJ4XuZ2yUkVkZMrnwYn0FsnL/WcCnDy8tzj2PrP6cQWjERytQEhQx2u94+lL5gCyo0TxTZGMtx9nq0KS3XwRQtb2Fk43mOm0byVRTsYcqkFQLBK3BsuwkhUAyen5Akm03FM3OcKZuv8xxpYGJTAkPamM6tECBat2Dmk+WJl8EY2fmFYxcGhkkNAvC7Gzd1mBmn0uwrcD2vgEFerGGj8T1Z6rRxqYCH4ZsvwMFqCO9P53wSnxg/clfjobOnPvdAGeMMlGJ4pAgY0MLj3HwSPZHQF16pNgAY27G5hlO7m1+RhO480Ky3Xh2a+7Xle/QBzQN4meKVBcMr7fYd2K6smPKH1PYeYrWBg3+F0TFS6w+zP5J+8qQI59R0sATnekoK+WTxW3cKo8y01v0STU2vbj15vAk6hYqRShhOj1DPWsz4SnT9F2Xml5ott6svbwdPMHRG1uiV7bKz8AaezhF/VFVzdHXpRACudKZuo5ILx6XJn2xmn6+q1m1f6Rz+Hbo99yRmfLRewcNFgHr+Fa5fxvaj37Av+AmnCRMA1vlkVAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bif%20%28%20custombuttons.confirmBox%28%27%27%2C%20%27Restart%20App%3F%27%2C%20%27Yes%27%2C%20%27Cancel%27%29%20%29%20Application.restart%28%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

bunda1
okkamas_knife
Спасибо.

После обновления Лисы на 44 версию из меню исчез пункт Перезагрузки. Возможно ли это поправить?

senatorrome пишет

После обновления Лисы на 44 версию из меню исчез пункт Перезагрузки. Возможно ли это поправить?

У меня вроде на FF44 + Добавить новый пункт "Перезапуск" в главном меню пункт Перезагрузка появляется, а ты каким кодом пользующийся, а то их тут несколько.

bunda1 пишет

У меня вроде на FF44 + Добавить новый пункт "Перезапуск" в главном меню пункт Перезагрузка появляется, а ты каким кодом пользующийся, а то их тут несколько.

Вариант №1 "Добавить новый пункт "Перезапуск" в главном меню". Выходит как у тебя.

Попробовал очистку до дефолтной версии Лисы, попробовал переустановить чистую 43 и после обновить на 44. Результат одинаковый - на 43 всё работает, на 44 пункт меню исчезает. :(

senatorrome
Ну а если так:

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню ................
(fileQuit=> {
   var menuItem = fileQuit.parentNode.insertBefore(document.createElement("menuitem"), fileQuit);
   menuItem.setAttribute("label", "Перезапуск");
   menuItem.setAttribute("oncommand", "Application.restart()");    
})(document.getElementById("menu_FileQuitItem"));
bunda1 пишет

Ну а если так:

Поменял код. На 43.0.1 всё продолжило отлично работать. Обновляюсь на 44 - пункт меню снова исчезает. :(

senatorrome

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню ................
(fileMenu=> {
   var menuItem = fileMenu.appendChild(document.createElement("menuitem"));
   addDestructor(()=> menuItem.remove() );
   menuItem.setAttribute("label", "Перезапуск");
   menuItem.onclick =()=> setTimeout(()=> Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart), 0);    
})(document.getElementById("menu_FilePopup"));

Увы, всё так же ((
На 44 пункт ребут исчезает.

Можно добавить "перезапуск" в контекстное меню, вызываемое правой клавиши мыши?

tom911 пишет

Можно добавить "перезапуск" в контекстное меню, вызываемое правой клавиши мыши?

Выделить код

Код:

// Добавить "перезапуск" в контекстное меню, от 09.02.2016. ...............   
(contextMenu=> {
   var menuItem = contextMenu.insertBefore(document.createElement("menuitem"), contextMenu.children[0]);
   addDestructor(()=> menuItem.remove() );
   menuItem.setAttribute("label", "Перезапуск");
   menuItem.onclick =()=> setTimeout(()=> Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart), 0);    
   }
)(document.getElementById("contentAreaContextMenu"));

bunda1
а как его на позицию вниз опустить?

tom911 пишет

bunda1
а как его на позицию вниз опустить?

children[1]

tom911 пишет

Можно добавить "перезапуск" в контекстное меню, вызываемое правой клавиши мыши?

У тебя получилось с контекстным на 44-ой версии? Такое впечатление, что у меня злой рок преследует эту версию.

senatorrome
Да, у меня все работает.

Всё, проблему удалось решить обновлением CustomButtons до последней версии.

bunda1, спасибо за помощь!

Pale moon 26.5 кнопка не работает.

Quartz1t пишет

Pale moon 26.5 кнопка не работает.

Проверил на Pale moon 27 и всё работает. Ты про какой код пишешь, тут их несколько вариантов?

bunda1 пишет

Проверил на Pale moon 27 и всё работает. Ты про какой код пишешь, тут их несколько вариантов?

В шапке который с иконкой.
А что может мешать работе кнопки? У меня уже не первый раз не работают...

Quartz1t пишет
bunda1 пишет

Проверил на Pale moon 27 и всё работает. Ты про какой код пишешь, тут их несколько вариантов?

В шапке который с иконкой.
А что может мешать работе кнопки? У меня уже не первый раз не работают...

Даже не знаю. Может так попробуй:

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню, от 20.06.2016. ......................
(()=> {
    var menuItem = document.createElement("menuitem");
    menuItem.setAttribute("id", "restart_firefox");               
    menuItem.setAttribute("label", "Перезапуск");
    menuItem.setAttribute("class", "menuitem-iconic");
    menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/Pz8A/v7+gX7+/oF+fn4B////wB7d3JQDgYA8A4GAPB7d3JQ////APv7+gX8/PsD//7/AP///wD///8A////AP///wD///8A/v7+Af///wDx8fAFIRoU2BEJAP8RCQD/IRoU2PLx8AX///8A/Pz8Af7+/gL///8A////AP///wCalpFfgHx1jYiEfoCUkYt26unnDh4YFdgLAwD/DAQA/xoUEN38/PwAfXl0Wnp2cF////8A/v7+A////wD///8Aw8G9LwwJBuoAAAD/Ew8P7/f4+AeIhIBHHBUK4hsUCOKOi4dH1NTSCQUBAOkAAAD/iYV/U////wD8/PwD////AMrKxxUaEwfhDwcA/yMcFOvy8fAQ////APDv7gjw7+4H////APf39wBlYFx/CQIA/w0FAOjBv70Z////AP///wBbV1V/AAAA/zIsI8E6NTC+5+foGf///wD+/v4C////Afz8/AP///8B8fHxADYxKq0AAAD/aGRidv///wD19fUANC0lxAAAAP+ppqJE5eTjD+3t7A////8A/v7+Af7+/gH///8A+/v6BP///wCjoZxGAgAA/ykkHMDv7+8A7u3uDSghGOcFAAD8wsG+Hv///wD8/PwB////AP///wD///8A////APz8/AH///8Aw8G+GwQAAPwqIhji7+7uCu7t7gwoIRjlBQAA+sPBvhn///8A/Pz8Av///wD///8A////AP///wD8/PwB////AMPBvhkFAAD6JyAY5u7t7gz19fUANC0lxAAAAP+koZxF////APr6+gT///8A////AP///wD///8A+vr6BP///wCkoZxFAAAA/zMtJcP19fUA////AF1YVn0AAAD/NjEprfHx8QD///8E+vr6BPz8/AH8/PwB+vr6BP///wTx8fEANjEprQAAAP9dWFZ8////AP///wDBv70bCwQA6wkBAP9lYFx69vb1AP///wH+/v4A/v7+AP///wH29vUAZWBcegkBAP8LBADrwb+9Gv///wD8/PwD////AHl1cFgAAAD/CQIA/zUuJq6ppqE/x8XCF8fFwheppqE/NS4mrgkCAP8AAAD/eHVwV////wD8/PwD////AP7+/gP///8Ae3dwVgoDAO8BAAD/AgAA/wQAAPoEAAD6AgAA/wEAAP8KAwDvendwVv///wD+/v4D////AP///wD///8A/fz8A////wDDwL8aYFpTfjQtIsYoIRbmKCEW5jQtIsZgWlN+w8C/Gv///wD9/PwD////AP///wD///8A////AP7+/wD8/PwD////Af///wDz8vIB7u3sC+7t7Avz8vIB////AP///wH8/PwD/v7/AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==");
    menuItem.onclick =()=> setTimeout(()=> Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart), 500);    
    addDestructor(()=> menuItem.remove());
       
    var quitItem = document.getElementById("menu_FileQuitItem"); // в меню 'Файл'
    quitItem.parentNode.insertBefore(menuItem, quitItem);
    
    var appmenuQuit = document.getElementById("appmenu_quit") || document.getElementById("appmenu-quit"); // в меню kнопки "Firefox"
    appmenuQuit && appmenuQuit.parentNode.insertBefore(menuItem.cloneNode(true), appmenuQuit);
})();

или так:

Выделить код

Код:

// Добавить новый пункт "Перезапуск" в главном меню, от 20.06.2016. ......................
(()=> {
    var menuItem = document.createElement("menuitem");
    menuItem.setAttribute("id", "restart_firefox");               
    menuItem.setAttribute("label", "Перезапуск");
    menuItem.setAttribute("class", "menuitem-iconic");
    menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/Pz8A/v7+gX7+/oF+fn4B////wB7d3JQDgYA8A4GAPB7d3JQ////APv7+gX8/PsD//7/AP///wD///8A////AP///wD///8A/v7+Af///wDx8fAFIRoU2BEJAP8RCQD/IRoU2PLx8AX///8A/Pz8Af7+/gL///8A////AP///wCalpFfgHx1jYiEfoCUkYt26unnDh4YFdgLAwD/DAQA/xoUEN38/PwAfXl0Wnp2cF////8A/v7+A////wD///8Aw8G9LwwJBuoAAAD/Ew8P7/f4+AeIhIBHHBUK4hsUCOKOi4dH1NTSCQUBAOkAAAD/iYV/U////wD8/PwD////AMrKxxUaEwfhDwcA/yMcFOvy8fAQ////APDv7gjw7+4H////APf39wBlYFx/CQIA/w0FAOjBv70Z////AP///wBbV1V/AAAA/zIsI8E6NTC+5+foGf///wD+/v4C////Afz8/AP///8B8fHxADYxKq0AAAD/aGRidv///wD19fUANC0lxAAAAP+ppqJE5eTjD+3t7A////8A/v7+Af7+/gH///8A+/v6BP///wCjoZxGAgAA/ykkHMDv7+8A7u3uDSghGOcFAAD8wsG+Hv///wD8/PwB////AP///wD///8A////APz8/AH///8Aw8G+GwQAAPwqIhji7+7uCu7t7gwoIRjlBQAA+sPBvhn///8A/Pz8Av///wD///8A////AP///wD8/PwB////AMPBvhkFAAD6JyAY5u7t7gz19fUANC0lxAAAAP+koZxF////APr6+gT///8A////AP///wD///8A+vr6BP///wCkoZxFAAAA/zMtJcP19fUA////AF1YVn0AAAD/NjEprfHx8QD///8E+vr6BPz8/AH8/PwB+vr6BP///wTx8fEANjEprQAAAP9dWFZ8////AP///wDBv70bCwQA6wkBAP9lYFx69vb1AP///wH+/v4A/v7+AP///wH29vUAZWBcegkBAP8LBADrwb+9Gv///wD8/PwD////AHl1cFgAAAD/CQIA/zUuJq6ppqE/x8XCF8fFwheppqE/NS4mrgkCAP8AAAD/eHVwV////wD8/PwD////AP7+/gP///8Ae3dwVgoDAO8BAAD/AgAA/wQAAPoEAAD6AgAA/wEAAP8KAwDvendwVv///wD+/v4D////AP///wD///8A/fz8A////wDDwL8aYFpTfjQtIsYoIRbmKCEW5jQtIsZgWlN+w8C/Gv///wD9/PwD////AP///wD///8A////AP7+/wD8/PwD////Af///wDz8vIB7u3sC+7t7Avz8vIB////AP///wH8/PwD/v7/AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==");
    menuItem.onclick =()=> setTimeout(()=> Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart), 500);    
    addDestructor(()=> menuItem.remove());
       
    var quitItem = document.getElementById("menu_FileQuitItem"); // в меню 'Файл'
    quitItem.parentNode.insertBefore(menuItem, quitItem);
})();

bunda1, благодарю, но...
к сожалению эти кнопки также не работают. во втором варианте пункт Перезагрузка в меню не отображается.
больше вариантов не нужно. буду разбираться с браузером.

bunda1, обновите, пожалуйста, кнопочку - на [firefox] 57.0 ни один из вариантов, перечисленных в топике, увы, не работает :(

Viatcheslav пишет

на [firefox] 57.0 ни один из вариантов, перечисленных в топике, увы, не работает

Странно. Проверил последний (второй из №39), и всё работает.
Заодно, для Photon'ского гамбургера добавил

скрытый текст

Выделить код

Код:

((data, quitBtn, restartBtn) => {
    for(var args of data) restartBtn.setAttribute(...args);
    quitBtn.before(restartBtn); addDestructor(() => restartBtn.remove());
    restartBtn.restart = e => {
        if (!e.ctrlKey) {
            var bool = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
                Services.obs.notifyObservers(bool, "quit-application-requested", "restart");
                if (bool.data) return alert("The restart request has been canceled.");
        }
        if (e.shiftKey) Services.appinfo.invalidateCachesOnRestart();
        Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart);
    }
})(
    Object.entries({
    
        label: "Перезапустить " + Services.appinfo.name,
        id: "appMenu-restart-button",
        oncommand: "this.restart(event);",
        class: "subviewbutton subviewbutton-iconic",
        image: "data:image/svg+xml," +
            Cu.readURI(makeURI("chrome://browser/skin/sync.svg"))
                .replace("<svg", '$& transform="rotate(90)" ')
    }),
    document.getElementById("appMenu-quit-button"),
    document.createElement("toolbarbutton")
);

Dumby пишет

Странно. Проверил последний (второй из №39), и всё работает

Я прошу прощение - неточно выразился. Кнопка создаётся, но в меню Файл она появляется только после переноса на панель меню. Браузер перезапускается только из пункта Перезапустить FireFox меню Файл, кнопка на панели меню не работает

Dumby пишет

Заодно, для Photon'ского гамбургера добавил

скрытый текст

Выделить код

Код:

((data, quitBtn, restartBtn) => {
    for(var args of data) restartBtn.setAttribute(...args);
    quitBtn.before(restartBtn); addDestructor(() => restartBtn.remove());
    restartBtn.restart = e => {
        if (!e.ctrlKey) {
            var bool = Cc["@mozilla.org/supports-PRBool;1"].createInstance(Ci.nsISupportsPRBool);
                Services.obs.notifyObservers(bool, "quit-application-requested", "restart");
                if (bool.data) return alert("The restart request has been canceled.");
        }
        if (e.shiftKey) Services.appinfo.invalidateCachesOnRestart();
        Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart);
    }
})(
    Object.entries({
    
        label: "Перезапустить " + Services.appinfo.name,
        id: "appMenu-restart-button",
        oncommand: "this.restart(event);",
        class: "subviewbutton subviewbutton-iconic",
        image: "data:image/svg+xml," +
            Cu.readURI(makeURI("chrome://browser/skin/sync.svg"))
                .replace("<svg", '$& transform="rotate(90)" ')
    }),
    document.getElementById("appMenu-quit-button"),
    document.createElement("toolbarbutton")
);

Ситуация абсолютно аналогичная - браузер перезапускается только из гамбургер-меню. Может, я чего-то неправильно делаю :blush:

Viatcheslav
Так тебе нужна кнопка перезапуска! Вот:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u043A%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/Pz8A/v7+gX7+/oF+fn4B////wB7d3JQDgYA8A4GAPB7d3JQ////APv7+gX8/PsD//7/AP///wD///8A////AP///wD///8A/v7+Af///wDx8fAFIRoU2BEJAP8RCQD/IRoU2PLx8AX///8A/Pz8Af7+/gL///8A////AP///wCalpFfgHx1jYiEfoCUkYt26unnDh4YFdgLAwD/DAQA/xoUEN38/PwAfXl0Wnp2cF////8A/v7+A////wD///8Aw8G9LwwJBuoAAAD/Ew8P7/f4+AeIhIBHHBUK4hsUCOKOi4dH1NTSCQUBAOkAAAD/iYV/U////wD8/PwD////AMrKxxUaEwfhDwcA/yMcFOvy8fAQ////APDv7gjw7+4H////APf39wBlYFx/CQIA/w0FAOjBv70Z////AP///wBbV1V/AAAA/zIsI8E6NTC+5+foGf///wD+/v4C////Afz8/AP///8B8fHxADYxKq0AAAD/aGRidv///wD19fUANC0lxAAAAP+ppqJE5eTjD+3t7A////8A/v7+Af7+/gH///8A+/v6BP///wCjoZxGAgAA/ykkHMDv7+8A7u3uDSghGOcFAAD8wsG+Hv///wD8/PwB////AP///wD///8A////APz8/AH///8Aw8G+GwQAAPwqIhji7+7uCu7t7gwoIRjlBQAA+sPBvhn///8A/Pz8Av///wD///8A////AP///wD8/PwB////AMPBvhkFAAD6JyAY5u7t7gz19fUANC0lxAAAAP+koZxF////APr6+gT///8A////AP///wD///8A+vr6BP///wCkoZxFAAAA/zMtJcP19fUA////AF1YVn0AAAD/NjEprfHx8QD///8E+vr6BPz8/AH8/PwB+vr6BP///wTx8fEANjEprQAAAP9dWFZ8////AP///wDBv70bCwQA6wkBAP9lYFx69vb1AP///wH+/v4A/v7+AP///wH29vUAZWBcegkBAP8LBADrwb+9Gv///wD8/PwD////AHl1cFgAAAD/CQIA/zUuJq6ppqE/x8XCF8fFwheppqE/NS4mrgkCAP8AAAD/eHVwV////wD8/PwD////AP7+/gP///8Ae3dwVgoDAO8BAAD/AgAA/wQAAPoEAAD6AgAA/wEAAP8KAwDvendwVv///wD+/v4D////AP///wD///8A/fz8A////wDDwL8aYFpTfjQtIsYoIRbmKCEW5jQtIsZgWlN+w8C/Gv///wD9/PwD////AP///wD///8A////AP7+/wD8/PwD////Af///wDz8vIB7u3sC+7t7Avz8vIB////AP///wH8/PwD/v7/AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bif%20%28%20%21custombuttons.confirmBox%28null%2C%20%22%u041F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%3F%22%2C%20%22%u0414%u0430%22%2C%20%22%u041E%u0442%u043C%u0435%u043D%u0430%22%29%20%29%20return%3B%20%0AServices.startup.quit%28Services.startup.eAttemptQuit%20%7C%20Services.startup.eRestart%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
bunda1 пишет

Viatcheslav
Так тебе нужна кнопка перезапуска! Вот:

скрытый текст

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u043A%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/Pz8A/v7+gX7+/oF+fn4B////wB7d3JQDgYA8A4GAPB7d3JQ////APv7+gX8/PsD//7/AP///wD///8A////AP///wD///8A/v7+Af///wDx8fAFIRoU2BEJAP8RCQD/IRoU2PLx8AX///8A/Pz8Af7+/gL///8A////AP///wCalpFfgHx1jYiEfoCUkYt26unnDh4YFdgLAwD/DAQA/xoUEN38/PwAfXl0Wnp2cF////8A/v7+A////wD///8Aw8G9LwwJBuoAAAD/Ew8P7/f4+AeIhIBHHBUK4hsUCOKOi4dH1NTSCQUBAOkAAAD/iYV/U////wD8/PwD////AMrKxxUaEwfhDwcA/yMcFOvy8fAQ////APDv7gjw7+4H////APf39wBlYFx/CQIA/w0FAOjBv70Z////AP///wBbV1V/AAAA/zIsI8E6NTC+5+foGf///wD+/v4C////Afz8/AP///8B8fHxADYxKq0AAAD/aGRidv///wD19fUANC0lxAAAAP+ppqJE5eTjD+3t7A////8A/v7+Af7+/gH///8A+/v6BP///wCjoZxGAgAA/ykkHMDv7+8A7u3uDSghGOcFAAD8wsG+Hv///wD8/PwB////AP///wD///8A////APz8/AH///8Aw8G+GwQAAPwqIhji7+7uCu7t7gwoIRjlBQAA+sPBvhn///8A/Pz8Av///wD///8A////AP///wD8/PwB////AMPBvhkFAAD6JyAY5u7t7gz19fUANC0lxAAAAP+koZxF////APr6+gT///8A////AP///wD///8A+vr6BP///wCkoZxFAAAA/zMtJcP19fUA////AF1YVn0AAAD/NjEprfHx8QD///8E+vr6BPz8/AH8/PwB+vr6BP///wTx8fEANjEprQAAAP9dWFZ8////AP///wDBv70bCwQA6wkBAP9lYFx69vb1AP///wH+/v4A/v7+AP///wH29vUAZWBcegkBAP8LBADrwb+9Gv///wD8/PwD////AHl1cFgAAAD/CQIA/zUuJq6ppqE/x8XCF8fFwheppqE/NS4mrgkCAP8AAAD/eHVwV////wD8/PwD////AP7+/gP///8Ae3dwVgoDAO8BAAD/AgAA/wQAAPoEAAD6AgAA/wEAAP8KAwDvendwVv///wD+/v4D////AP///wD///8A/fz8A////wDDwL8aYFpTfjQtIsYoIRbmKCEW5jQtIsZgWlN+w8C/Gv///wD9/PwD////AP///wD///8A////AP7+/wD8/PwD////Af///wDz8vIB7u3sC+7t7Avz8vIB////AP///wH8/PwD/v7/AP///wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bif%20%28%20%21custombuttons.confirmBox%28null%2C%20%22%u041F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%3F%22%2C%20%22%u0414%u0430%22%2C%20%22%u041E%u0442%u043C%u0435%u043D%u0430%22%29%20%29%20return%3B%20%0AServices.startup.quit%28Services.startup.eAttemptQuit%20%7C%20Services.startup.eRestart%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E


bunda1, благодарю - это именно то, что нужно :)

Здравствуйте. Я вообще ничего не понимаю в этом расширении, но очень нужно это https://forum.mozilla-russia.org/viewtopic.php?pid=747694#p747694 (может, и не это, но точно нужна дополнительная панель для кнопок) и кнопка перезапуска в меню Файл (наверное) и в гамбургере или только в гамбургере. Я создала кнопку, сунула этот код https://forum.mozilla-russia.org/viewtopic.php?pid=748902#p748902 в окно инициализации, задала имя и больше ничего не трогала. Кнопка создалась, но решительно не работает. Помогите, пожалуйста!

css пишет

Я создала кнопку, сунула этот код https://forum.mozilla-russia.org/viewtopic.php?pid=748902#p748902 в окно инициализации, задала имя и больше ничего не трогала. Кнопка создалась, но решительно не работает. Помогите, пожалуйста!

Кнопка начинает работать, когда она вынесена из окна Персонализация (вызывается ПКМ по панели меню) на панель меню. css, если Вам просто нужна кнопка перезапуска, и вовсе необязательно, чтобы она располагалась в Гамбурер-меню или в меню Файл, посмотрите на пару сообщений выше - вариант, который устроил меня

Viatcheslav пишет

Кнопка начинает работать, когда она вынесена из окна Персонализация (вызывается ПКМ по панели меню) на панель меню. css, если Вам просто нужна кнопка перезапуска, и вовсе необязательно, чтобы она располагалась в Гамбурер-меню или в меню Файл, посмотрите на пару сообщений выше - вариант, который устроил меня

Ну я не совсем идиот, я кнопку запихала на панель. И она не работает. И у меня не получается ни с одним вариантом. Что-то я делаю неправильно, а, поскольку, руководства для чайников нигде нет, то понять, что я не так делаю, я не могу. И мне, всё таки, желательна кнопка в гамбургере, она там более адекватна. Либо в меню справка или файл. Разрабы лисы, конечно, погорячились, убрав кнопку перезагрузки вообще из всех меню.

css пишет

Ну я не совсем идиот, я кнопку запихала на панель. И она не работает

Нажимать нужно не ту, которую "запихнули" на панель, а ту, которая появляется в Гамбурер-меню или меню Файл

Viatcheslav пишет

Нажимать нужно не ту, которую "запихнули" на панель, а ту, которая появляется в Гамбурер-меню или меню Файл

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

И почему-то эту ветку, начиная с моего поста №46, раскорячило. Или это только у меня так? Я и в палемун смотрела. Там то же самое.

css пишет

И почему-то эту ветку, начиная с моего поста №46, раскорячило. Или это только у меня так?

не только... тоже самое :) кагбе CSS сломался.

Люди добрые, ну объясни те же, как работать с этим расширением. Ничегошеньки же у меня не получается. (

css пишет

Люди добрые, ну объясни те же, как работать с этим расширением. Ничегошеньки же у меня не получается. (

Может заново установи Сustom Buttons: F57.7Z — Яндекс.Диск

bunda1
Спасибо. Но, увы, тоже не пашет. Может, я что-то неправильно делаю? Я создала кнопку. В поле КОД я запихала код, начинающийся с "custombutton", в поле ИНИЦИАЛИЗАЦИЯ – 2й код из 39 сообщения этой ветки. Больше ничего не трогала, кроме названия кнопки. Кнопку запихала в дополнительную выпадающую панель. Перезагрузила браузер. И тишина. Ни в меню, ни где-то ещё пункта "Перезапуск" или подобного не появилось. Сама кнопка ничего не делает. Просто, вообще нигде нет внятного руководства к этому расширению, а сама я дотумкать, как видно, не в состоянии.

css пишет

bunda1
Спасибо. Но, увы, тоже не пашет. Может, я что-то неправильно делаю?

Код, начинающийся с "custombutton" надо вставить в адресную строку и нажать перейти, а 2й код из 39 сообщения этой ветки надо вставить в инициализацию новой кнопки которую нужно вынести куда то на панели, тогда в меню Файл на панели меню появится новый пункт "Перезапуск".

css пишет

Может, я что-то неправильно делаю?... Я создала кнопку. В поле КОД я запихала код, начинающийся с "custombutton"...

Да, неправильно. Код, начинающийся с "custombutton", нужно вставлять в адресную строку браузера (при установленном Custom Button), либо в поле URL кнопки окна Создание кнопки - этого достаточно

19717697_s.png

css пишет

Просто, вообще нигде нет внятного руководства к этому расширению, а сама я дотумкать, как видно, не в состоянии

Неправда Ваша - https://forum.mozilla-russia.org/viewto … 91#p397691

bunda1, прошу прощение - пока своё отправлял, ваш ответ не заметил :blush:

bunda1, Viatcheslav
Огромное спасибо! Что-то стало получаться. :D Пункт меню так и не появился, зато сама кнопка теперь работает на перезапуск.

Viatcheslav пишет

Неправда Ваша - https://forum.mozilla-russia.org/viewto … 91#p397691

Я даже комментировать не буду, потому что мне стыдно.