Страницы: 1
Переключить скролбар через контекстное меню панелей инструментов(Firefox)
Автор: bunda1
Описание: Kод добавляет новый пункт в контекстное меню панелей инструментов: Скрыть скролбар который дает возможность скрыть или показать полосу прокрутки на всех новых страницах или после обновления уже открытых страниц.
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.
// Переключить скролбар через контекстное меню панелей инструментов ..................................................... (function() { // Стоп, если новый пункт меню уже существует .... if (document.getElementById("hideScrollbar")) return; // Oбъявляем переменные для всего кода ..... var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService); var s = "CB.hideScrollbar"; // Проверить наличие строк в about:config и создать если не существует ................................................... if ( !custombuttons.isPref(s) ) prefs.setBoolPref(s, false); // Добавляем новый пункт в контекстное меню панелей инструментов ......................................................... var menuitem = document.createElement("menuitem"); menuitem.setAttribute("id", "hideScrollbar"); menuitem.setAttribute("oncommand", "event.stopPropagation(); ToggleScrollbarPreferences(event)"); // добавляем чекбокс(флажок) для нового пункта меню .... menuitem.setAttribute("type", "checkbox"); menuitem.setAttribute("checked", custombuttons.getPrefs(s) ); menuitem.setAttribute("autocheck", true); // текст нового пункта меню зависит от языка интерфейса .... menuitem.setAttribute("label", (prefs.getCharPref("general.useragent.locale") == "ru")? "Скрыть скролбар": "Hide scrollbar"); // добавляем как последний пункт меню в контекстное меню панелей инструментов .... document.getElementById("toolbar-context-menu").appendChild(menuitem); // Функция переключает настройки в 'about:config' ........................................................................ ToggleScrollbarPreferences = function(event) { custombuttons.setPrefs(s, !custombuttons.getPrefs(s)); // .... ToggleScrollbarStyle(event); }; // Функция добавляет или удаляет стиль для скролбара на страницах выбор завысит от настройки в 'about:config' ............ var ToggleScrollbarStyle = function(event) { var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"] .getService(Components.interfaces.nsIStyleSheetService); var str = 'html > scrollbar[orient=vertical], html > scrollbar[orient=horizontal] {visibility:collapse !important;}'; var uri = makeURI('data:text/css,'+encodeURIComponent( str )); // удалить стиль if ( !custombuttons.getPrefs(s) && sss.sheetRegistered(uri, sss.AGENT_SHEET) ) sss.unregisterSheet(uri, sss.AGENT_SHEET); // добавить стиль if ( custombuttons.getPrefs(s) ) sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); }; ToggleScrollbarStyle(event); })();
Отредактировано bunda1 (30-11-2012 02:33:58)
Отсутствует
Страницы: 1