bunda1
Жаль. Просто в старой версии NoSquint, даже установки дополнения менялись кнопкой...было удобно.
Может можно тогда убрать лишнее в индикаторе дополнения, оставив только число масштаба?
Кнопкой или стилем...без разницы.
В глобальных настройках должна стоять галка для отображения индикатора дополнения.
Отсутствует
Не получается подружить кнопку и дополнение NoSquint Plus
Может проще, если есть что-то полезное в NoSquint, то добавить это в кнопку. Хотя на мой взгляд в кнопке есть всё необходимое для комфортного изменения масштаба, но мало ли...
Отсутствует
voqabuhe
Я же написал выше различия кнопки и дополнения...повторю
В дополнении есть установки по умолчанию масштаба и размера шрифта. У меня, например, 125\85. Если не уменьшать шрифт, при увеличенном масштабе, то заголовки становятся большими. Эти настройки для всего интернета. В то же время, для некоторых сайтов, можно установить свой масштаб и размер шрифта. В кнопке либо одно, либо другое, либо третье... Вдобавок, можно сделать шрифт совсем черным и изменить цвет ссылок. Последнее можно сделать стилями но это надо ковыряться с сайтами.
Кнопка теперь как индикатор и возможность быстро изменить масштаб мышкой...до обновления страницы.
Отредактировано oleg.sgh (05-11-2016 23:22:22)
Отсутствует
bunda1
Жаль. Просто в старой версии NoSquint, даже установки дополнения менялись кнопкой...было удобно.
Может можно тогда убрать лишнее в индикаторе дополнения, оставив только число масштаба?
Кнопкой или стилем...без разницы.
В глобальных настройках должна стоять галка для отображения индикатора дополнения.
Вот что то намутил:
var indicator = document.getElementById('zoomlevel-indicator'); var indicatorHandler = new MutationObserver(()=> { if (indicator.value.slice(-5) == '/100%') indicator.value = indicator.value.replace("/100%", ""); }); indicatorHandler.observe(indicator, {attributes: true}); addDestructor(()=> indicatorHandler.disconnect() );
или даже так:
// Кнопка для управления масштабом страницы в адресной строке ....................... (()=> { // Создать в адресной строке кнопку масштаба .... var zoomButton = document.createElement("statusbarpanel"); var urlbarIcons = document.getElementById("urlbar-icons"); urlbarIcons.insertBefore(zoomButton, urlbarIcons.lastChild); // перед последней кнопкой адресной строки addDestructor(()=> zoomButton.remove()); zoomButton.id = "zoomButton"; zoomButton.style.cssText = "-moz-appearance: none; border: 0; margin-right: -12px;"; // Css стиль для кнопки масштаба // Менять масштаб колесиком мыши на кнопке масштаба .... addEventListener("DOMMouseScroll", e=> { e.detail > 0 ? document.getElementById("menu_zoomReduce").click() : document.getElementById("menu_zoomEnlarge").click(); }, false, zoomButton); // Следим за изменением масштаба и запускаем обновление кнопки .... var indicator = document.getElementById('zoomlevel-indicator'); indicator.hidden = true; var indicatorHandler = new MutationObserver(()=> updateZoomButton() ); indicatorHandler.observe(indicator, {attributes: true}); addDestructor(()=> indicatorHandler.disconnect() ) // Показывать текущий масштаб страницы на кнопке и изменять цвет и шрифт отображения масштаба .... function updateZoomButton() { zoomButton.label = indicator.value.replace("/100%", ""); }; updateZoomButton(); })();
Добавлено 05-11-2016 23:49:04
bunda1 пишетНе получается подружить кнопку и дополнение NoSquint Plus
Может проще, если есть что-то полезное в NoSquint, то добавить это в кнопку.
Это не просто
Отредактировано bunda1 (05-11-2016 23:49:04)
Отсутствует
bunda1
или даже так:
Теперь подружилась...даже слишком. Дискретность изменения масштаба стала 10% и при изменении штатными кнопками браузера и клавишами.
Свои настройки дискретности в toolkit.zoomManager.zoomValues, естественно, тоже перестали работать.
Хотелось бы:
1. Либо немного раздружить кнопку и дополнение, что бы штатными средствами масштаб изменялся как установлено в toolkit.zoomManager.zoomValues.
Либо, что предпочтительнее, сделать в кнопке дискретность изменения масштаба 5%.
2. Оставить только числовое значения масштаба (предпочтительно) или убрать значение масштаба шрифта. (значение масштаба шрифта появляется если он отличен от 100, в глобальных настройках)
Код в кнопке, видимо, не срабатывает.
3. Сброс масштаба, по правому клику на кнопке, до дефолтных 100% браузера.
По п. 1, решено - extensions.zoomlevel.zoomIncrement;5. Тем не менее, желательно, изменение этого параметра добавить в саму кнопку.
Отредактировано oleg.sgh (06-11-2016 11:41:21)
Отсутствует
bunda1
или даже так:
Теперь подружилась...даже слишком. Дискретность изменения масштаба стала 10% и при изменении штатными кнопками браузера и клавишами.
По п. 1, решено - extensions.zoomlevel.zoomIncrement;5. Тем не менее, желательно, изменение этого параметра добавить в саму кнопку.
Мой код или даже так: просто отображает в адресной строке информацию от индикатора масштаба NoSquint и прячет этот индикатор. С дискретностью изменения масштаба мой код ни как не связан. И почему у тебя в адресной строке два индикатора?
Отредактировано bunda1 (06-11-2016 12:30:09)
Отсутствует
bunda1
просто отображает в адресной строке информацию от индикатора
Не просто отображает а еще меняет масштаб колесом, когда курсор на цыферьках...как в оригинале.
extensions.zoomlevel.zoomIncrement;5 устанавливается в about:config и отвечает за дискретность шага в дополнении.
почему у тебя в адресной строке два индикатора?
Один показывает масштаб, второй размер шрифта
значение масштаба шрифта появляется если он отличен от 100, в глобальных настройках
Отсутствует
bunda1
2. Оставить только числовое значения масштаба (предпочтительно) или убрать значение масштаба шрифта. (значение масштаба шрифта появляется если он отличен от 100, в глобальных настройках)
3. Сброс масштаба, по правому клику на кнопке, до дефолтных 100% браузера.
Теперь попробуй:
// Кнопка для управления масштабом страницы в адресной строке ....................... (()=> { // Создать в адресной строке кнопку масштаба .... var zoomButton = document.createElement("statusbarpanel"); var urlbarIcons = document.getElementById("urlbar-icons"); zoomButton.setAttribute("context", "event.stopPropagation()"); urlbarIcons.insertBefore(zoomButton, urlbarIcons.lastChild); // перед последней кнопкой адресной строки addDestructor(()=> zoomButton.remove()); zoomButton.id = "zoomButton"; zoomButton.style.cssText = "-moz-appearance: none; border: 0; margin-right: -12px;"; // Css стиль для кнопки масштаба zoomButton.tooltipText = "П: Сбросить масштаб на 100% \nКолёсиком мыши на кнопке можно масштаб"; // Отслеживать клики на кнопке масштаба .... addEventListener("click", e=> { if ( e.button == 2 ) document.getElementById("menu_zoomReset").click(); // сбросить масштаб }, false, zoomButton); // Менять масштаб колесиком мыши на кнопке масштаба .... addEventListener("DOMMouseScroll", e=> { e.detail > 0 ? document.getElementById("menu_zoomReduce").click() : document.getElementById("menu_zoomEnlarge").click(); }, false, zoomButton); // Следим за изменением масштаба и запускаем обновление кнопки .... var indicator = document.getElementById('zoomlevel-indicator'); indicator.hidden = true; var indicatorHandler = new MutationObserver(()=> updateZoomButton() ); indicatorHandler.observe(indicator, {attributes: true}); addDestructor(()=> indicatorHandler.disconnect() ) // Показывать текущий масштаб страницы на кнопке и изменять цвет и шрифт отображения масштаба .... function updateZoomButton() { zoomButton.label = indicator.value.slice(0,4).replace("/", ""); }; updateZoomButton(); })();
Добавлено 06-11-2016 13:04:52
А вот что там с extensions.zoomlevel.zoomIncrement я не понял, у меня он 10 и не меняется при исползования кнопки.
Отредактировано bunda1 (06-11-2016 13:04:52)
Отсутствует
Вот я и подумал, раз кнопки могут почти всё, то пусть бы сама кнопка и устанавливала эти 5 процентов.
Это можно. Но хочу уточнить - получается что NoSquint сам произвольно иногда меняет extensions.zoomlevel.zoomIncrement или как?
Отсутствует
bunda1
получается что NoSquint сам произвольно иногда меняет extensions.zoomlevel.zoomIncrement или как?
Это параметр устанавливает дополнение а значение можно менять в надстройках самого дополнения. Дело только в том, что в интерфейсе дополнения, минимальное 10. Шаг 5, можно установить только в about:config. Эти пляски начались с переходом на новое дополнение (в старом вообще можно было установить шаг 1). Только сегодня нашел как, принудительно, установить шаг 5, для нового дополнения.
Отсутствует
Понятно. Можно просто добавить в мой код:
Отсутствует
В 51 бете появился свой убогий масштаб в адресной строке. Как убрать?
Добавлено 24-11-2016 22:26:26
bunda1
Если возможно, добавьте пожалуйста, чтобы в области адресной строки тоже можно было вращением колесика изменять масштаб.
// Кнопка для управления масштабом страницы в адресной строке, от 24.11.2016. .......................... (()=> { // Удалить из адресной строки FF51 стандартную кнопку масштаба .... var but = document.getElementById('urlbar-zoom-button'); if (but) but.style.display = "none"; // Создать в адресной строке кнопку масштаба .... var zoomButton = document.createElement("statusbarpanel"); var urlbarIcons = document.getElementById("urlbar-icons"); urlbarIcons.insertBefore(zoomButton, urlbarIcons.lastChild); // перед последней кнопкой адресной строки addDestructor(()=> zoomButton.remove()); updateZoomButton(); zoomButton.id = "zoomButton"; zoomButton.style.cssText = "-moz-appearance: none; border: 0; margin-right: -20px;"; // Css стиль для кнопки масштаба zoomButton.tooltipText = "Л: Менять масштаб страницы или только текста\nС: Единый масштаб для всех страниц \nП: Сбросить масштаб на 100% "; // Отслеживать клики на кнопке масштаба .... addEventListener("click", e=> { if ( e.button == 0 ) ZoomManager.toggleZoom(); // переключить режим изминения масштаба if ( e.button == 1 ) { // единый масштаб для всех страниц cbu.isPref("CB.zoom.allEvenly", false); cbu.setPrefs("CB.zoom.allEvenly", !cbu.getPrefs("CB.zoom.allEvenly") ); cbu.setPrefs("CB.zoom.Percent", ZoomManager.zoom.toFixed(2) ); updateZoomButton(); } if ( e.button == 2 ) { e.preventDefault(); FullZoom.reset(); }; // сбросить масштаб }, false, zoomButton); // Менять масштаб колесиком мыши на адресной строке .... addEventListener("DOMMouseScroll", e=> { e.detail > 0 ? FullZoom.reduce() : FullZoom.enlarge(); }, false, gURLBar); // Следим за изменением масштаба и запускаем обновление кнопки .... var str = "{ setTimeout(()=> { updateZoomButton() }, 50);"; var handleEvent = parseInt(Services.appinfo.version) > 33 ? FullZoom.handleEvent : FullZoom._handleMouseScrolled; var array = [FullZoom.reset, FullZoom.reduce, FullZoom.enlarge, ZoomManager.toggleZoom, handleEvent]; array.forEach(func=> { setTimeout(()=> { eval( (func.toString().replace('_', '.').match(/function ([^(]*)\(/)[1] + " = " + func.toString().replace("{", str)) )}, 50) }); addDestructor(()=> { array.forEach(func=> { eval( (func.toString().replace('_', '.').match(/function ([^(]*)\(/)[1] + " = " + func.toString()).replace(str,"{") ) }); }); // Показывать текущий масштаб страницы на кнопке и изменять цвет и шрифт отображения масштаба .... function updateZoomButton(e) { zoomButton.label = Math.round(ZoomManager.zoom*100) + "%"; setTimeout(()=> { zoomButton.style.fontWeight = ZoomManager.useFullZoom ? '' : 'bold'; zoomButton.style.color = cbu.getPrefs("CB.zoom.allEvenly") ? "red" : ""; }, 5); // запомнить текущий масштаб в 'about:config' if ( e == undefined ) { try { window.clearTimeout(zoomButton.prefTimeout) } catch(e) {}; zoomButton.prefTimeout = window.setTimeout(()=> { cbu.setPrefs("CB.zoom.Percent", ZoomManager.zoom.toFixed(2) ) }, 250); } }; // Устанавливать единый масштаб для всех страниц если это разрешено в 'about:config' .... addEventListener("TabAttrModified", e=> { if ( e.target.linkedBrowser.currentURI.spec !== gBrowser.currentURI.spec ) return; if ( cbu.getPrefs("CB.zoom.allEvenly") && content.location.protocol.startsWith("http") ) { var value = cbu.getPrefs("CB.zoom.Percent"); if ( ZoomManager.zoom.toFixed(2) == value ) return; setTimeout(()=> { gBrowser.markupDocumentViewer[ZoomManager.useFullZoom ? 'fullZoom' : 'textZoom'] = value; updateZoomButton(e); }, 0); } else updateZoomButton(e); }, true, gBrowser.tabContainer); })();
Отредактировано bunda1 (24-11-2016 22:26:26)
Отсутствует
Блин, теперь ругается на аддон — не подписан. Хочет отключить.
Как отключить проверку цифровых подписей в дополнениях Firefox | Форум Mozilla Россия
Отсутствует
Обновилось дополнение NoSquint Plus и кнопка перестала показывать значение масштаба
Можно подправить?
Виноват, отбой...после перезапуска , все стало работать как надо.
Отредактировано oleg.sgh (27-12-2016 14:18:46)
Отсутствует
bunda1
Большое спасибо за эту полезную кнопку.
А нельзя ли сделать такую настройку, чтоб задавался не инкремент зума, а чтоб просто "вбить" свою шкалу значений, как это реализовано в расширении Zoom Page ?
(я пользуюсь примерно такими значениями: ...110 120 125 130 133 135 140 145 150)
Отредактировано usalex (06-12-2017 23:59:01)
Отсутствует
(я пользуюсь примерно такими значениями: ...110 120 125 130 133 135 140 145 150)
В about:config > toolkit.zoomManager.zoomValues измени значение на 1.1,1.2,1.25,1.3,1.35,1.4,1.45,1.5
Отсутствует
В about:config > toolkit.zoomManager.zoomValues измени значение на 1.1,1.2,1.25,1.3,1.35,1.4,1.45,1.5
Спасибо. Работает. А как там прописать, чтоб все новые страницы открывались в масштабе не 100% а 125% ?
Отсутствует