Добавить новый пункт "Перезапуск" в главном меню(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); })();
Отредактировано bunda1 (08-09-2013 13:44:24)
Отсутствует
Круто!
До этого пользовался подобной штукой.Только в версии 8 браузера кнопка срабатывала не сразу а со второго раза.
А с этим кодом проблем нет работает на ура.
Отсутствует
поподробней об портативной
Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.
Отсутствует
Отсутствует
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 ); })();
Отредактировано bunda1 (29-03-2013 11:47:35)
Отсутствует
Такую штуку наверное можно сделать стилем?
Что-то вроде:
.button-link[anonid = "restart-btn"]:after { z-index:99; display:inline; min-width:20px; min-height:20px; }
Только вставить в менюшку, я точно не помню свойство для этого.
Отсутствует
bunda1
-1 расширение, спасибо!
Отсутствует
У меня код из "Добавить новый пункт "Перезапуск" в главном меню( с иконкой )" не добавляет пункт в меню "Файл" и кнопку Firefox.
Отредактировано PEAKTOP (30-03-2013 17:16:26)
1. Приму из добрых рук щедрый дар - инвайт на Хабр и Лепру
2. Бессмысленно осмысливать смысл неосмысленными мыслями!
3. Прежде чем подумать - подумай!
Отсутствует
PEAKTOP
Должен добавлять, может ты не положил код в вкладку инициализации или у тебя конфликт с каким то расширением типа Menu Editor.
Отсутствует
Прошу меня извинить, ошибочка вышла. Действительно работает. Создал новую кнопку, вставил код и пункт появился. Проблема была с добавлением в уже существующую кнопку.
1. Приму из добрых рук щедрый дар - инвайт на Хабр и Лепру
2. Бессмысленно осмысливать смысл неосмысленными мыслями!
3. Прежде чем подумать - подумай!
Отсутствует
Спасибо. Пользовался другой кнопкой, но в меню удобней. А если возможно прикрутите подтверждение перегрузки.
Замени:
на:
setAttribute("oncommand", "if ( custombuttons.confirmBox('', 'Перезагрузить браузер', 'Рестарт', 'Отмена') ) Application.restart();");
Отсутствует
А можно отдельный вариант ввиде перетаскиваемой кнопки (для того же австралиса пригодится)?
На основе этого:
// Добавить новый пункт "Перезапуск" в меню 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 ); }); })();
Отсутствует
А можно отдельный вариант ввиде перетаскиваемой кнопки (для того же австралиса пригодится)?
На основе этого:
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
Отсутствует
После обновления Лисы на 44 версию из меню исчез пункт Перезагрузки. Возможно ли это поправить?
Отсутствует
После обновления Лисы на 44 версию из меню исчез пункт Перезагрузки. Возможно ли это поправить?
У меня вроде на FF44 + Добавить новый пункт "Перезапуск" в главном меню пункт Перезагрузка появляется, а ты каким кодом пользующийся, а то их тут несколько.
Отсутствует
У меня вроде на 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"));
Отсутствует