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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№800129-09-2014 18:57:23

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

Re: Custom Buttons

negodnik пишет

bunda1
В нажатом и ненажатом состоянии отображается только иконка из Инициализации, а из «Изображение (M)» не отображается.

Для SeaMonkey нужно заменить:

Выделить код

Код:

// Установить нужную иконку кнопки при старте браузера или при изменениях настроек кнопки ..........
function toggleImage() {
   self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon").
   src = !run.value ? self.image : "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/NTU1/z8/P/89PT3/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv89PT3/Pz8//zU1Nf8AAAD/AAAA/6Ghof+YmJj/ioqK/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/ioqK/5iYmP+hoaH/AAAA/wAAAP+dnZ3/hISE/3R0dP94eHj/eHh4/3h4eP94eHj/eHh4/3h4eP94eHj/eHh4/3R0dP+EhIT/nZ2d/wAAAP8AAAD/qKio/5OTk/+CgoL/hoaG/4aGhv+Ghob/hoaG/4aGhv+Ghob/hoaG/4aGhv+CgoL/k5OT/6ioqP8AAAD/AAAA/6+vr/+ampr/iYmJ/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/iYmJ/5qamv+vr6//AAAA/wAAAP+1tbX/oqKi/5GRkf+VlZX/lZWV/5WVlf+VlZX/lZWV/5WVlf+VlZX/lZWV/5GRkf+ioqL/tbW1/wAAAP8CAgL/vb29/6mpqf+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f/qamp/729vf8CAgL/AAAA/8PDw/+xsbH/n5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/7Gxsf/Dw8P/AAAA/zo6Ov/Pz8//xMTE/7a2tv+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7a2tv/ExMT/z8/P/zo6Ov9aWlr/2dnZ/9PT0//Jycn/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Jycn/09PT/9nZ2f9aWlr/U1NT/9/f3//a2tr/z8/P/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/z8/P/9ra2v/f39//U1NT/1RUVP/m5ub/4+Pj/9jY2P/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9jY2P/j4+P/5ubm/1RUVP9UVFT/7u7u/+3t7f/i4uL/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/i4uL/7e3t/+7u7v9UVFT/VFRU/+/v7//y8vL/5+fn/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5+fn//Ly8v/v7+//VFRU/1RUVP/8/Pz//////////////////////////////////////////////////////////////////Pz8/1RUVP9WVlb/kJCQ/5WVlf+VlZX/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+VlZX/lZWV/5CQkP9WVlb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; 
};
toggleImage();
gPrefService.addObserver(run.name, toggleImage, false);
addDestructor(function() gPrefService.removeObserver(run.name, toggleImage));

на:

Выделить код

Код:

// Установить нужную иконку кнопки при старте браузера или при изменениях настроек кнопки ..........
function toggleImage() {
   var [img] = document.getAnonymousNodes(self);
   img.src = !run.value ? self.image : "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/NTU1/z8/P/89PT3/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv89PT3/Pz8//zU1Nf8AAAD/AAAA/6Ghof+YmJj/ioqK/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/ioqK/5iYmP+hoaH/AAAA/wAAAP+dnZ3/hISE/3R0dP94eHj/eHh4/3h4eP94eHj/eHh4/3h4eP94eHj/eHh4/3R0dP+EhIT/nZ2d/wAAAP8AAAD/qKio/5OTk/+CgoL/hoaG/4aGhv+Ghob/hoaG/4aGhv+Ghob/hoaG/4aGhv+CgoL/k5OT/6ioqP8AAAD/AAAA/6+vr/+ampr/iYmJ/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/iYmJ/5qamv+vr6//AAAA/wAAAP+1tbX/oqKi/5GRkf+VlZX/lZWV/5WVlf+VlZX/lZWV/5WVlf+VlZX/lZWV/5GRkf+ioqL/tbW1/wAAAP8CAgL/vb29/6mpqf+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f/qamp/729vf8CAgL/AAAA/8PDw/+xsbH/n5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/7Gxsf/Dw8P/AAAA/zo6Ov/Pz8//xMTE/7a2tv+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7a2tv/ExMT/z8/P/zo6Ov9aWlr/2dnZ/9PT0//Jycn/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Jycn/09PT/9nZ2f9aWlr/U1NT/9/f3//a2tr/z8/P/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/z8/P/9ra2v/f39//U1NT/1RUVP/m5ub/4+Pj/9jY2P/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9jY2P/j4+P/5ubm/1RUVP9UVFT/7u7u/+3t7f/i4uL/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/i4uL/7e3t/+7u7v9UVFT/VFRU/+/v7//y8vL/5+fn/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5+fn//Ly8v/v7+//VFRU/1RUVP/8/Pz//////////////////////////////////////////////////////////////////Pz8/1RUVP9WVlb/kJCQ/5WVlf+VlZX/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+VlZX/lZWV/5CQkP9WVlb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; 
};
toggleImage();
run.events.addListener("change", toggleImage, false);
addDestructor(function() run.events.removeListener("change", toggleImage, false) );

И желательно в начале инициализации положить:

Выделить код

Код:

if ( this.hasAttribute("initialized") ) return;

Да, похоже что универсального css кода для подсветки изображений нет, надо будет на JavaScript писать. Вот же огорчение :(


vitalii201 пишет

bunda1, если не ошибаюсь, у вас был код для "запоминать(вернуться) после перехода по ссылке по СКМ". Есть ли такой для [firefox] 28?

Вроде я про такой код не ведаю :/

Отсутствует

 

№800229-09-2014 20:24:43

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 608
UA: Seamonkey 2.21
Веб-сайт

Re: Custom Buttons

bunda1
Хорошо получилось. Спасибо большое!

Отсутствует

 

№800329-09-2014 23:16:03

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 35.0

Re: Custom Buttons

bunda1 пишет

Может кому интересно, опять подправил кнопку Уменьшить яркость на всех страницах::

Спасибо, полезная кнопка, а с заменой

Замени в коде:...на

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

Отсутствует

 

№800429-09-2014 23:56:19

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2253
UA: Firefox 17.0

Re: Custom Buttons

voqabuhe
А что там

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

Выделить код

Код:

var bar = document.getElementById("toolbar-menubar");
var autohide = bar.getAttribute("autohide") == "true";
CustomizableUI.setToolbarVisibility(bar.id, autohide);

Отсутствует

 

№800530-09-2014 00:01:49

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

Re: Custom Buttons

voqabuhe пишет

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

Если ты про затемнение только картинок + подсветка картинок при наведение на них, то пока подсветка картинок сильно глючит на некоторых сайтах, если не решу проблему то приётся подсветку картинок на JavaScript писать.

Отсутствует

 

№800630-09-2014 00:17:16

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 35.0

Re: Custom Buttons

bunda1 пишет

Если ты про затемнение только картинок + подсветка картинок при наведение на них, то пока подсветка картинок сильно глючит на некоторых сайтах, если не решу проблему то приётся подсветку картинок на JavaScript писать.

Да про это, а где глючит?

Отсутствует

 

№800730-09-2014 00:21:07

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

Re: Custom Buttons

voqabuhe пишет

Да про это, а где глючит?

16-09-2014 15:31:16
Сегодня 16:22:32

Отсутствует

 

№800830-09-2014 00:25:22

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 35.0

Re: Custom Buttons

Dumby пишет

А что там

Там было глухо :) А теперь работает, спасибо большое.

Отсутствует

 

№800903-10-2014 11:02:42

hartumov
Участник
 
Группа: Members
Зарегистрирован: 17-11-2013
Сообщений: 136
UA: Firefox 25.0

Re: Custom Buttons

Помогите с кодом.
Суть: при обновлении вкладки или при открывании новой вкладки идёт перебор всех элементов. Если элемент соответствует определёному условию, запускается функция myF. Вот сам код

Выделить код

Код:

var appcontent = document.getElementById('appcontent');
appcontent.addEventListener('DOMContentLoaded', aa, true);
   function aa(){
     elm = content.document.getElementsByTagName('*');
     for (i=0; i<elm.length; i++) {
        if(blablabla){
           function myF(){
               // do smth.
             }   
               myF()
          }     
   }

Что  мне надо. Я хотел бы счётчик, который считает, сколько раз отработала на странице функция  myF.
И чтоб счётчик обнулялся при обновлении страницы.

Отсутствует

 

№801003-10-2014 11:37:52

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

Re: Custom Buttons

hartumov пишет

Помогите с кодом.
Суть: при обновлении вкладки или при открывании новой вкладки идёт перебор всех элементов. Если элемент соответствует определёному условию, запускается функция myF.

Выделить код

Код:

function handler(e) {
   var doc = e.originalTarget;
      
   var win = doc.defaultView; 
   if ( doc.nodeName != "#document" ) return;
   if ( win != win.top ) return;
   if ( win.frameElement ) return;

   var i = 0; 
   [...content.document.getElementsByTagName('*')].forEach(function(el) {
      if ( el.localName == 'a' ) { myF(el); i++ };    
   });
   
   alert( i + ' елемент(ы)' );                  
};
addEventListener("DOMContentLoaded", handler, true, gBrowser );


function myF(el) {
   LOG(el);
};

Отсутствует

 

№801104-10-2014 13:58:59

hartumov
Участник
 
Группа: Members
Зарегистрирован: 17-11-2013
Сообщений: 136
UA: Firefox 25.0

Re: Custom Buttons

bunda1, спасибo, я сделал.
У меня есть несколько вопросов.

1. Почему в этом случае надо forEach, а не просто  for, как было уменя?

2. Зачем

Выделить код

Код:

[...content.document.getElementsByTagName('*')].forEach(function(el)

а не просто

Выделить код

Код:

content.document.getElementsByTagName('*').forEach(function(el)

3. Почему, если я вызываю функцию handler после добавления EventListener то получается ошибка? Ведь это именованная функция и ее можно вызывать и до объявления?

4. Почему повесить EventListener на gBrowser лучше, чем на appcontent?

Отсутствует

 

№801204-10-2014 15:34:19

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

Re: Custom Buttons

1. Почему в этом случае надо forEach, а не просто  for, как было уменя?

Просто мне так нравится но можно и for , а можно и:

Выделить код

Код:

for (var elm of doc.getElementsByTagName("*")) {

2. Зачем

Выделить код

Код:

[...content.document.getElementsByTagName('*')]

А за тем что .forEach(function(el) работает с массивами - Массив: Перебирающие методы | Учебник JavaScript
А content.document.getElementsByTagName('*') не массив, а так [...content.document.getElementsByTagName('*')] уже массив элементов страницы. Кстати можно сразу указать нужный елемент, например ссылки content.document.getElementsByTagName('a');

3. Почему, если я вызываю функцию handler после добавления EventListener то получается ошибка? Ведь это именованная функция и ее можно вызывать и до объявления?

Конечно можно вызывать и до объявления:

Выделить код

Код:

handler();

function handler(e) { alert(e); // => undefined
   var doc = e.originalTarget;
   .........

но ты наверно при вызове не указал аргумент e. Таких случаях смотри в chrome://global/content/console.xul и многие вопросы отпадут. Попробуй так:

Выделить код

Код:

handler();

function handler(e) {
   if ( e ) {
        var doc = e.originalTarget;
      
        var win = doc.defaultView; 
        if ( doc.nodeName != "#document" ) return;
        if ( win != win.top ) return;
        if ( win.frameElement ) return;
        }
   .........

4. Почему повесить EventListener на gBrowser лучше, чем на appcontent?

Так тоже работает но кода меньше. Возможно тут есть нюансы но я их не знаю.

Отредактировано bunda1 (04-10-2014 15:35:35)

Отсутствует

 

№801304-10-2014 16:03:09

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

Re: Custom Buttons

Приветствую! Посмотрите, пожалуйста, можно ли реанимировать и немного переделать этот код так, чтобы получилась длинная кнопка, отображающая заголовок текущей веб-странички и её favicon? Я хочу поместить её в это пустое пространство между "Панель меню" и системными кнопками "Свернуть, Свернуть в окно, Закрыть": 1ad6d2ee1cdcf9d6a2c138f1c478578b7ac6495a.png Конечно, не всегда оно полностью туда влезет, но сколько влезет с начала, пусть то и будет...

ESR 31.1.1 Win8 Установил стили от iDev.Pi Победить Australis и убрал заголовок (т.е. отображение названия текущей веб-странички в заголовке окна [firefox]), кликая по кнопкам Меню --> Изменить --> Заголовок.

Товарищ Anton в 2009-м году в этой же теме предложил решение такой задачи:

есть ли возможность сделать кнопку, которая будет брать текущий URL и favicon и создавать новую кнопку допустим с названием из <title>?

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

Выделить код

Код:

var doc = getBrowser (). contentDocument;
var title = doc. title;
var pageURI = makeURI (doc. location. href, null, null);
var iconData = getFaviconData (pageURI);
custombuttons. cloneButton (this);
var newButtonLink = custombuttons. makeButtonLink ("update", this. nextSibling. id);
var params = custombuttons. cbService. getButtonParameters (newButtonLink). wrappedJSObject;
params. image = iconData;
params. name = title;
params. code = "loadURI (\"" + doc. location. href + "\");";
params. wrappedJSObject = params;
custombuttons. cbService. installButton (params);
function makeURI (aURL, aOriginCharset, aBaseURI)
{
    var ioService = Components. classes["@mozilla.org/network/io-service;1"].
            getService (Components. interfaces. nsIIOService);
    return ioService. newURI (aURL, aOriginCharset, aBaseURI);
}
function getFaviconData (pageURI)
{
    var fis = Components. classes ["@mozilla.org/browser/favicon-service;1"].
          getService(Components.interfaces.nsIFaviconService);
    var iconURL = fis. getFaviconForPage (pageURI);
    return fis. getFaviconDataAsDataURL (iconURL);
}

И каким образом можно задать размер иконки?

Выделить код

Код:

var elt = document. getAnonymousElementByAttribute (this, "class", "toolbarbutton-icon");
elt. style. height = "100px";
elt. style. width = "100px";

Отредактировано Александр Колесников (06-10-2014 17:44:49)

Отсутствует

 

№801405-10-2014 09:20:53

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2253
UA: Firefox 17.0

Re: Custom Buttons

Александр Колесников пишет

длинная кнопка, отображающая заголовок текущей веб-странички и её favicon

На крайний случай

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

Выделить код

Код:

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%3EUnnamed%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-4%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bconst%20iconSize%20%3D%2016%3B%0Aconst%20buttonWidth%20%3D%20500%3B%0Aconst%20defaultFavicon%20%3D%20%22%22%3B%0A%0A%0Aif%20%28gBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%29%20return%3B%0Avar%20%5Bimg%2C%20lab%5D%20%3D%20document.getAnonymousNodes%28this%29%3B%0Athis.style.cssText%20%3D%20imp%28%27%5C%0A%09-moz-box-orient%3A%20horizontal%3B%5C%0A%09min-width%3A%20%27%20+%20buttonWidth%20+%20%27px%3B%5C%0A%09max-width%3A%20%27%20+%20buttonWidth%20+%20%27px%3B%5C%0A%27%29%3B%0Alab.style.cssText%20%3D%20imp%28%27%5C%0A%09display%3A%20-moz-box%3B%5C%0A%09text-align%3A%20start%3B%5C%0A%09margin-left%3A%207px%3B%5C%0A%27%29%3B%0Aimg.style.cssText%20%3D%20imp%28%27%5C%0A%09display%3A%20-moz-box%3B%5C%0A%09width%3A%20%27%20+%20iconSize%20+%20%27px%3B%5C%0A%09height%3A%20%27%20+%20iconSize%20+%20%27px%3B%5C%0A%27%29%3B%0Afunction%20imp%28str%29%20str.replace%28/%3B/g%2C%20%22%20%21important%3B%22%29%3B%0A%0Avar%20mo%20%3D%20new%20MutationObserver%28%28%29%20%3D%3E%20lab.value%20%3D%20document.documentElement.getAttribute%28%22title%22%29%29%3B%0Amo.observe%28document.documentElement%2C%20%7Battributes%3A%20true%2C%20attributeFilter%3A%20%5B%22title%22%5D%7D%29%3B%0Amo.mutationCallback%28addDestructor%28%28%29%20%3D%3E%20mo.disconnect%28%29%29%29%3B%0A%0Avar%20pl%20%3D%20%7B%7D%2C%20df%20%3D%20defaultFavicon%20%7C%7C%20PlacesUtils.favicons.defaultFavicon.spec%3B%0Apl.onLinkIconAvailable%20%3D%20pl.onLocationChange%20%3D%20%28%29%20%3D%3E%20%7B%0A%09var%20icon%20%3D%20gBrowser.selectedBrowser.mIconURL%20%7C%7C%20df%0A%09if%20%28icon.startsWith%28%22http%22%29%29%20icon%20%3D%20%22moz-anno%3Afavicon%3A%22%20+%20icon%3B%0A%09img.src%20%3D%20icon%3B%0A%7D%0AgBrowser.addProgressListener%28pl%29%3B%0Apl.onLinkIconAvailable%28addDestructor%28%28%29%20%3D%3E%20gBrowser.removeProgressListener%28pl%29%29%29%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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

Отсутствует

 

№801505-10-2014 13:36:37

hartumov
Участник
 
Группа: Members
Зарегистрирован: 17-11-2013
Сообщений: 136
UA: Firefox 25.0

Re: Custom Buttons

bunda1, понятно.
Спасибо еще раз! :)

Отсутствует

 

№801605-10-2014 22:48:33

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

Re: Custom Buttons

Dumby Спасибо! То, что надо!

Отсутствует

 

№801706-10-2014 12:06:21

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

Re: Custom Buttons

Уважаемые знатоки! Погуглил, но не нашёл актуальной кнопки типа "Stop/Reload". Нужно, чтоб в зависимости от состояния страницы кнопка принимала вид либо Stop, либо Reload. А при долгом нажатии срабатывало "остановить загрузку всех страниц". Для последнего есть рабочий код

скрытый текст
в "инициализации"

Выделить код

Код:

//"Stop Loading All Tabs" in Tab Context Menu.............................................
(function() {
//выходим, если функция уже выполнялась
if (document.getElementById("StopAllTab")) return;

//новый пункт в меню вкладок
//настройки языка
var locale = Components.classes["@mozilla.org/preferences-service;1"]
                         .getService(Components.interfaces.nsIPrefBranch)
                         .getCharPref("general.useragent.locale");
   
var tabContext = document.getAnonymousElementByAttribute(
                        gBrowser, "anonid", "tabContextMenu") ||
                 gBrowser.tabContainer.contextMenu;
                 
var menuitem = tabContext.insertBefore(document.createElement("menuitem"), document.getElementById("context_reloadTab"));                 
menuitem.id = "StopAllTab";
menuitem.setAttribute("label", locale.indexOf("ru") == -1?"Stop Loading All Tabs":"Остановить загрузку всех вкладок");
menuitem.setAttribute("oncommand", "StopTab(event);" );
tabContext.insertBefore(menuitem,tabContext.firstChild.nextSibling);

//Остановить все вкладки
StopTab = function(event){
    var len = gBrowser.mPanelContainer.childNodes.length;
for (var i = 0; i < len; i++) {
  gBrowser.getBrowserAtIndex(i).stop();
}
     };
})();


но запускающий его пункт меню находится в контекстном меню вкладки.

Соответствующие значки из адресной строки уберу стилем #urlbar-reload-button, #urlbar-stop-button {display: none !important;}

Не знаю, надо ли, но из расширения Classic Toolbar Buttons вытянул иконки: 3059666.jpg , 3059667.jpg , 3059669.jpg .

Отредактировано Александр Колесников (07-10-2014 20:50:41)

Отсутствует

 

№801807-10-2014 19:10:17

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 20.0

Re: Custom Buttons

Я в своё время жаловался на кнопку Открывать всё в новых вкладках, от 07.12.2013
Она перестаёт работать если открыть новое окно.

Никаких подвижек в этом направлении нет?

Отсутствует

 

№801907-10-2014 21:09:12

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

Re: Custom Buttons

Насчёт кнопки "Stop/Reload", о которой я просил два поста назад. Если

при долгом нажатии срабатывало "остановить загрузку всех страниц"

приделать сложно\неохота, то, может быть, просто "Stop/Reload" можно сделать? В теме про стили сказали, что после Australis-а эту кнопку из адресной строки никак не переместить стилями в другое место, а целиться в эту малюсенькую кнопку в непривычном месте, подозреваю, не одному мне неудобно...

Отсутствует

 

№802007-10-2014 22:39:34

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

Re: Custom Buttons

Александр Колесников пишет

Уважаемые знатоки! Погуглил, но не нашёл актуальной кнопки типа "Stop/Reload". Нужно, чтоб в зависимости от состояния страницы кнопка принимала вид либо Stop, либо Reload. А при долгом нажатии срабатывало "остановить загрузку всех страниц".

Выделить код

Код:

// Настройка функций кликов и длинных кликов мыши для кнопки ..............
this.onmousedown = function(e) {
    self.onclick = function() {
        self.onclick = "", clearTimeout( self.timer );          
        
        if ( !e.button )
             gBrowser.webProgress.isLoadingDocument ? BrowserStop() : BrowserReload();
    };
     
    self.timer = setTimeout(function() {
        self.onclick = "";                 
        
        if ( !e.button ) for (var br of gBrowser.browsers) br.stop();    
    }, 500 );
};

Отсутствует

 

№802107-10-2014 23:55:52

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

Re: Custom Buttons

bunda1 Спасибо! Работает, как надо! Непривычно немного, что вид кнопки не меняется, но не буду наглеть, чтоб просить об этой мелочи! :-)

P.S. Можно сказать, что Australis с помощью стилей iDev.Pi, кнопки с заголовком страницы от Dumby и Вашей кнопкой "Stop/Reload" побеждён! :-)

Отредактировано Александр Колесников (08-10-2014 00:01:18)

Отсутствует

 

№802208-10-2014 00:00:51

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

Re: Custom Buttons

Александр Колесников пишет

bunda1 вид кнопки не меняется

Выделить код

Код:

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%3EStop/Reload%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABFklEQVQ4jdWToW7DQBBEI4WUBJbnC8rLAssjc9OAssqZzWx9Q/0J+QHTULOQfEBwsLFRUEkK6ki2ZTsuqjrSktPuu73ZvdnsXypJkkX3LIqiuTFkD4uxUwyGI6gvc91AXY0q4HqLomgOKgdVjd5uVGGu21DAda7hwyDzcGgUXODS1tONMWSgqhZwCASm60ZSHsd6anoCKp8ICkdz3YwqH0EegHT9AbWncX9WN4wq+02ub9p6uhk0cYqGOvq17mMHVb2bPfflJEmy6FvQdkeuVcPMUxcGaGkMGVyCazUOY9g3pnIFlRtDZh4OcF2MKsCwN/t8HQXd/1DvRlMVXGcwXY9CmvrY6QUM+7qL0lwnY8gALSdD/lTfBU/9GCESstoAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u0438%20%u0434%u043B%u0438%u043D%u043D%u044B%u0445%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20..............%0Athis.onmousedown%20%3D%20function%28e%29%20%7B%0A%20%20%20%20self.onclick%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20self.onclick%20%3D%20%22%22%2C%20clearTimeout%28%20self.timer%20%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20if%20%28%20%21e.button%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20stopButt.disabled%20%3F%20BrowserReload%28%29%20%3A%20BrowserStop%28%29%3B%0A%20%20%20%20%7D%3B%0A%20%20%20%20%20%0A%20%20%20%20self.timer%20%3D%20setTimeout%28function%28%29%20%7B%0A%20%20%20%20%20%20%20%20self.onclick%20%3D%20%22%22%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20if%20%28%20%21e.button%20%29%20for%20%28var%20br%20of%20gBrowser.browsers%29%20br.stop%28%29%3B%20%20%20%20%0A%20%20%20%20%7D%2C%20500%20%29%3B%0A%7D%3B%0A%0A%20%20%20%20%20%20%20%20%0Avar%20stopButt%20%3D%20document.getElementById%28%27urlbar-stop-button%27%29%3B%20%0A%0A%0A//%20%u0421%u043B%u0435%u0434%u0438%u043C%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u0435%u043C%20%u0441%u0442%u0430%u043D%u0434%u0430%u0440%u0442%u043D%u043E%u0439%20%27Stop%27%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20%u0441%u043E%u043E%u0442%u0432%u0435%u0442%u0441%u0442%u0432%u0435%u043D%u043D%u043E%20%u043C%u0435%u043D%u044F%u0435%u043C%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20..............%0Afunction%20stopButtHandler%28%29%20%7B%0A%20%20%20var%20%5Bimg%5D%20%3D%20document.getAnonymousNodes%28self%29%3B%0A%20%20%20img.src%20%3D%20stopButt.disabled%20%0A%20%20%20%3F%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABFklEQVQ4jdWToW7DQBBEI4WUBJbnC8rLAssjc9OAssqZzWx9Q/0J+QHTULOQfEBwsLFRUEkK6ki2ZTsuqjrSktPuu73ZvdnsXypJkkX3LIqiuTFkD4uxUwyGI6gvc91AXY0q4HqLomgOKgdVjd5uVGGu21DAda7hwyDzcGgUXODS1tONMWSgqhZwCASm60ZSHsd6anoCKp8ICkdz3YwqH0EegHT9AbWncX9WN4wq+02ub9p6uhk0cYqGOvq17mMHVb2bPfflJEmy6FvQdkeuVcPMUxcGaGkMGVyCazUOY9g3pnIFlRtDZh4OcF2MKsCwN/t8HQXd/1DvRlMVXGcwXY9CmvrY6QUM+7qL0lwnY8gALSdD/lTfBU/9GCESstoAAAAASUVORK5CYII%3D%22%0A%20%20%20%3A%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAoklEQVQ4jc2TMQ7DIAxFkXJGHyJ7pICMYp8ma1Y2lt4rHapUkBpjptSSJ74eH3/s3N9XQF56mjVusyrwyHuIfHqk3NZQ/mh4bzoJkc9vIydBk0qN6AwApruwhN3PPFIGgEl01YINQVTYKKSCRTp+QMjJDLnqSrBuOoYg2tPMrqTBSgGoMC0dM2yN29xLx/QhnasG/GpZ765IcevSG6ZlsZ+vN6qE/1DgPtqbAAAAAElFTkSuQmCC%22%3B%0A%7D%3B%0AstopButtHandler%28%29%3B%0Avar%20observer%20%3D%20new%20MutationObserver%28function%28%29%20stopButtHandler%28%29%29%3B%0Aobserver.observe%28%20stopButt%2C%20%7Battributes%3A%20true%7D%20%29%3B%0AaddDestructor%28function%28%29%20%7B%20observer.disconnect%28%29%20%7D%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*Code*/%0A%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

Добавлено 08-10-2014 00:02:04

P.S. Можно сказать, что Australis с помощью стилей iDev.Pi, кнопки с заголовком страницы от Dumby и Вашей кнопкой "Stop/Reload" побеждён! :-)

А кнопка меню и статусбар?

Отредактировано bunda1 (08-10-2014 00:02:04)

Отсутствует

 

№802308-10-2014 10:48:07

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

Re: Custom Buttons

bunda1
Спасибо большое! Работает отменно! Мелкую кнопку из адресной строки убрал упоминаемым мною выше стилем.
Кнопкой Меню и статусбором не пользуюсь. Перейдя с ESR24 на 31, погуглил и нашёл две статьи Интерфейс Firefox 29+ и его кастомизация / Хабрахабр и How to change the new Firefox Australis looks - там есть про то, что Вас интересует. А я, почитав этот форум, ограничился стилями и CB.

Вот так у меня сейчас: 50e2821661eba1f84102236a6b2002e0478783c0.png

Отредактировано Александр Колесников (08-10-2014 10:57:45)

Отсутствует

 

№802408-10-2014 11:24:58

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 35.0

Re: Custom Buttons

bunda1 пишет

А кнопка меню и статусбар?

Я кнопку меню скрыл, а меню открываю под курсором жестами FireGestures, очень удобно ИМХО. Вот так оно у меня выглядит
NBs8LjB.jpg
Кнопки которые нужны постоянно расположил на панели закладок, а которые нажимать не надо совсем вынес на панель меню, которая у меня закрыта и про статус-бар даже и не вспоминаю.

Добавлено 08-10-2014 11:36:43

Александр Колесников пишет

нашёл две статьи Интерфейс Firefox 29+ и его кастомизация / Хабрахабр и How to change the new Firefox Australis looks

Добросовестно прокрутил колесом обе статьи до конца и после вот этого скрина в первой статье

скрытый текст
47448cd696f8c3a183e508b4d579c0b5.png

и картинки во второй
скрытый текст
android-finger.jpg

понял, что остальное можно не читать :sick: :D

Отредактировано voqabuhe (08-10-2014 11:36:43)

Отсутствует

 

№802508-10-2014 13:35:20

Mishania
Забанен
 
Группа: Members
Откуда: Usa
Зарегистрирован: 22-10-2011
Сообщений: 357
UA: Firefox 32.0

Re: Custom Buttons

Здравствуйте, пользуюсь расширением Tab Mix, из всех функций использую только открывать всё в новой вкладке и восстановить закрытую вкладку СКМ. Попробовал Tab Mix Lite, функция СКМ там  отсутствует. Нельзя-ли сделать с помощью кнопки, у меня стоит CB Mouse Gestures+ может можно с её помощью?

Отсутствует

 

Board footer

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