Полезная информация

На IRC-канале #mozilla-ru можно получить техническую консультацию онлайн и, конечно же, порцию общения.

№113-11-2011 03:51:31

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

[CB]Изменить масштаб

Изменить масштаб( Firefox 3.6 + )
Автор: bunda1
Версия: от 24.11.2016.
Описание: Kод создает в адресной строке кнопку которая показывает размер масштаба текущей страницы.
http://s019.radikal.ru/i625/1206/5c/3f192014a0e7.jpg 
Колесиком мыши на кнопке можно менять масштаб текущей страницы.
Левым кликом на кнопке можно переключить режим изменения масштаба - менять масштаб страниц или менять масштаб только текста на страницах, если переключена на менять только текст размер масштаба в адресной строке будет отображаться жирным шрифтом.
Средним кликом  на кнопке можно переключить - единый масштаб для всех страниц или только для сайта, если переключена на единый масштаб для всех страниц - размер масштаба в адресной строке будет красного цвета.
Правым кликом на кнопке можно сбросить масштаб на 100%.

Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Кнопка для управления масштабом страницы в адресной строке, от 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, zoomButton);
           
 
   // Следим за изменением масштаба и запускаем обновление кнопки ....
   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 (23-08-2014 16:36:20)

Отсутствует

 

№213-11-2011 09:36:01

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 101
UA: Firefox 8.0

Re: [CB]Изменить масштаб

Добавьте пожалуйста сброс до 100% по правому клику или по двойному.

Отсутствует

 

№313-11-2011 10:51:07

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 11.0

Re: [CB]Изменить масштаб

bunda1 пишет:

Левым кликом на кнопке можно переключить - менять масштаб страницы или только текста на странице(размер масштаба в адресной строке будет жирным шрифтом).

ПКМ и СКМ тоже

Отсутствует

 

№413-11-2011 15:36:23

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

Andrey_Krropotkin пишет:

Добавьте пожалуйста сброс до 100% по правому клику или по двойному.

Я сделал сброс до 100% по правому клику.

Добавлено 13-11-2011 15:59:39

mserv пишет:

bunda1 пишет:

Левым кликом на кнопке можно переключить - менять масштаб страницы или только текста на странице(размер масштаба в адресной строке будет жирным шрифтом).

ПКМ и СКМ тоже

Исправил.  :) Спасибо что быстро находишь мои ошибки.

Отредактировано bunda1 (13-11-2011 16:00:04)

Отсутствует

 

№517-11-2011 16:48:10

BBoxerb
Участник
 
Группа: Members
Зарегистрирован: 06-05-2011
Сообщений: 24
UA: Firefox 8.0

Re: [CB]Изменить масштаб

bunda1
Пользуюсь вашей кнопкой Zoom2 Просматриваешь скажем форум, выставил 200% масштаб, переходишь на вторую страницу форума сбрасывает на 100%, тоже самое при открытии др. вкладки или новой страницы.
Можно ли сделать, чтобы отформатированный масштаб браузер сохранял на другие страницы?

Отсутствует

 

№617-11-2011 18:05:00

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

BBoxerb пишет:

Пользуюсь вашей кнопкой Zoom2 Просматриваешь скажем форум, выставил 200% масштаб, переходишь на вторую страницу форума сбрасывает на 100%

У меня такого не наблюдается, это на каком форуме? Кнопка устанавливает единый масштаб для сайта - под одним адресом, но не для новых страниц, которые находятся на других сайтах.

BBoxerb пишет:

Можно ли сделать, чтобы отформатированный масштаб браузер сохранял на другие страницы?

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


Можно зделать так.
about:config
browser.zoom.siteSpecific - false

Отредактировано bunda1 (17-11-2011 18:39:55)

Отсутствует

 

№717-11-2011 21:03:26

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

Изменить масштаб (Firefox 3.6 - 10)
Добавил новые возможности:
Теперь можно: cредним кликом  на кнопке переключить - единый масштаб для всех страниц или только для сайта, если переключена на единый масштаб для всех страниц - размер масштаба в адресной строке будет подчеркнут.

Отредактировано bunda1 (17-11-2011 21:07:08)

Отсутствует

 

№818-11-2011 13:15:33

BBoxerb
Участник
 
Группа: Members
Зарегистрирован: 06-05-2011
Сообщений: 24
UA: Firefox 8.0

Re: [CB]Изменить масштаб

Была у меня ваша кнопка "Zoom2" я решил сделать еще одну кнопку "Изменить масштаб", но поскольку мне нужно чтобы масштаб сохранялся, а не откатывался на 100% я обе кнопки удалил, но в адресной строке масштаб остался:)
Щас я создал новую кнопку, масштаб выделяется ЛКМ, подчеркивается Средней кнопкой, откатывается до 100 ПКМ, но главное подчеркивание средней кнопкой не сохраняет масштаб:(

Отредактировано BBoxerb (18-11-2011 13:30:49)

Отсутствует

 

№918-11-2011 15:26:50

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

BBoxerb пишет:

но главное подчеркивание средней кнопкой не сохраняет масштаб:(

Точно есть такая проблема, самопроизвольный сброс на 100% ,тут надо подумать.
Но вроде решение есть.

Отсутствует

 

№1018-11-2011 16:03:22

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 11.0

Re: [CB]Изменить масштаб

bunda1
А у меня просьба  вместо подчёркивания сделать изменение цвета, например на синий. А то я уменьшил высоту адресной строки и у меня подчёркивание не видно. Возможно?А у меня просьба  вместо подчёркивания сделать изменение цвета, например на синий. А то я уменьшил высоту адресной строки и у меня подчёркивание не видно. Возможно?

Отсутствует

 

№1118-11-2011 16:48:49

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

mserv
Тут проблема, я уже пытался это сделать, но #ucjs_zoom_statuslabel{color: green !important;} почему то не получается.

Отсутствует

 

№1218-11-2011 16:55:22

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 11.0

Re: [CB]Изменить масштаб

bunda1
А черту приблизить ближе к цифре это возможно?

Отсутствует

 

№1318-11-2011 17:03:50

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

mserv пишет:

bunda1
А черту приблизить ближе к цифре это возможно?

папробуй изменить в userChrome.css высоту для #ucjs_zoom_statuslabel
или измени в коде

Выделить код

Код:

Zoom.style.borderBottom = "1px solid";

на что то, например на

Выделить код

Код:

Zoom.style.borderRight = "1px solid";

Отсутствует

 

№1418-11-2011 21:32:44

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

Изменить масштаб (Firefox 3.6 - 10)
Исправил ошибки:
самопроизвольный сброс на 100% если кнопка переключена на единый масштаб для всех страниц.

Отсутствует

 

№1518-11-2011 22:39:46

BBoxerb
Участник
 
Группа: Members
Зарегистрирован: 06-05-2011
Сообщений: 24
UA: Firefox 8.0

Re: [CB]Изменить масштаб

bunda1
Cовсем другое дело, спасибо:)

Отсутствует

 

№1626-11-2011 23:03:34

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

Изменить масштаб (Firefox 3.6 - 10)
Исправил ошибки:
самопроизвольный сброс масштаба,  если масштаб на странице изменялся расширением FireGestures или чем то подобным и если кнопка была переключена на единый масштаб для всех страниц.

Отсутствует

 

№1722-04-2012 15:26:13

kveresov
Участник
 
Группа: Members
Зарегистрирован: 22-10-2010
Сообщений: 52
UA: Firefox 12.0

Re: [CB]Изменить масштаб

может не в тему, но есть ли расширение для firefox добавляющее в строку состояния две кнопки "-""+" для масштабирования станицы? чтоб не крутить колёсико мыши удерживая Ctrl

Отсутствует

 

№1825-04-2012 14:47:46

iluha-mai
Участник
 
Группа: Members
Зарегистрирован: 25-04-2012
Сообщений: 2
UA: Chrome 17.0

Re: [CB]Изменить масштаб

Всем привет! Подскажите, как выставить для мозиллы например масштаб 200 для всех страниц?

Отсутствует

 

№1925-04-2012 19:47:53

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

iluha-mai
Средним кликом  на кнопке можно переключить - единый масштаб для всех страниц или только для сайта, если переключена на единый масштаб для всех страниц - размер масштаба в адресной строке будет подчеркнут.

Отсутствует

 

№2020-05-2012 18:47:57

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

Изменить масштаб (Firefox 3.6 +) Изменить масштаб(Firefox 3.6 +)
Изменил: Теперь если кнопка переключена на единый масштаб для всех страниц - размер масштаба в адресной строке будет красного цвета.

Отредактировано bunda1 (20-05-2012 18:48:49)

Отсутствует

 

№2111-06-2012 07:26:21

BBoxerb
Участник
 
Группа: Members
Зарегистрирован: 06-05-2011
Сообщений: 24
UA: Firefox 12.0

Re: [CB]Изменить масштаб

bunda1
Обновил код иниц. Нууу что-то у меня при открытии новой вкладки масштаб выделенный красным сбрасывает на 100%, скажем с 80-->100:rolleyes:

Отсутствует

 

№2211-06-2012 08:17:30

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

BBoxerb пишет:

Обновил код иниц. Нууу что-то у меня при открытии новой вкладки масштаб выделенный красным сбрасывает на 100%, скажем с 80-->100:rolleyes:

Так и должно быть, ты же включил единый масштаб для всех страниц = 100% 20-05-2012 17:47:57

Отредактировано bunda1 (11-06-2012 18:35:44)

Отсутствует

 

№2311-06-2012 14:36:27

BBoxerb
Участник
 
Группа: Members
Зарегистрирован: 06-05-2011
Сообщений: 24
UA: Firefox 12.0

Re: [CB]Изменить масштаб

bunda1
Наверное что-то не так вставил, я правивльно понимаю, что если жирным черным то он должен сохранять старый масштаб для всех вкладок( скажем 80%) а с красным он сбрасывает на 100%?

Отредактировано BBoxerb (11-06-2012 14:42:33)

Отсутствует

 

№2411-06-2012 18:47:24

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4475
UA: Firefox 3.6

Re: [CB]Изменить масштаб

BBoxerb пишет:

... я правивльно понимаю, что если жирным черным то он должен сохранять старый масштаб для всех вкладок( скажем 80%) а с красным он сбрасывает на 100%?

Нет не правильно:
Если жирным черным то для каждого сайта будет свой масштаб.
Если красным то будет единый масштаб для всех страниц, если включил красный на странице у который масштаб скажем 80% то у всех страниц теперь будет 80%. Но это можно любой момент изменить если колесиком мыши изменить масштаб текущей страницы и тогда у всех страниц теперь будет размер такой же как текущей страницы. Все просто.

Отредактировано bunda1 (11-06-2012 19:09:15)

Отсутствует

 

№2512-06-2012 19:02:28

BBoxerb
Участник
 
Группа: Members
Зарегистрирован: 06-05-2011
Сообщений: 24
UA: Firefox 12.0

Re: [CB]Изменить масштаб

bunda1
А нельзя сделать, чтобы правило красного распространялось и на вкладки? При открытии новой вкладки он сбрасывает на 100%
В Огн.Лисе лично я открываю новые вкладки по максимуму, а новую страницу только тогда, когда вкладок накопится штук 20-ть:)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]