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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№902620-10-2015 00:58:25

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

Re: Custom Buttons

pofigist пишет

когда вожу зажатый текст над поисковиками, чтобы тот, над которым нахожусь выделялся курсором? Так просто будет более наглядно...

Попробовал добавить атрибут (в данном случае лисий менюитемный).
Вроде подхватывается.

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

Выделить код

Код:

(bar => {
    var delay = 200;

    var attr = "_moz-menuactive";
    var id = 0, popup = bar._popup, prev = popup.lastChild, curr = prev;
    addEventListener("dragenter", e => {
        clearTimeout(id);
        id = setTimeout(() => popup.parentNode.open = true, delay);
        var curr = e.originalTarget.closest("menuitem.searchbar-engine-menuitem");
        if (!curr || curr == prev) return;
        prev.removeAttribute(attr);
        curr.setAttribute(attr, true);
        prev = curr;
    }, false, bar);
    addEventListener("dragexit", e => {
        clearTimeout(id);
        if (e.originalTarget != popup) return;
        prev.removeAttribute(attr);
        prev = popup.lastChild;
    }, false, bar);
    addEventListener("drop", e => {
        e.stopPropagation();
        prev.removeAttribute(attr);
        if (!e.target.className.contains("searchbar-engine-menuitem")) return;
        popup.hidePopup();

        var dt = e.dataTransfer;
        var text = dt.getData("text/plain") || dt.getData("text/x-moz-text-internal");
        text && bar.doSearch(text, "tab", e.target.engine);

    }, false, popup);
})(BrowserSearch.searchBar);

Inko7 пишет

Просто вот такое хотел замутить

:/

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

Выделить код

Код:

gNavToolbox.palette.children["preferences-button"] || (function func(popup) {
    var btn, url = "about:config";

    (btn = document.getElementById("preferences-button"))
    ? addEventListener("click", e => {
        if (e.button != 1) return;
        if (gBrowser.currentURI.spec == "about:blank") loadURI(url);
        else gBrowser.selectedTab = gBrowser.addTab(url);
        popup.hidePopup();
    }, false, btn)

    : addEventListener("popupshowing", function ps() {
        removeEventListener("popupshowing", ps, false, popup);
        func(popup);
    }, false, popup);

})(document.getElementById("PanelUI-popup"));

Отредактировано Dumby (20-10-2015 01:58:30)

Отсутствует

 

№902720-10-2015 07:31:40

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

Dumby пишет

Попробовал добавить атрибут

Да, работает! Еще раз спасибо.

Отсутствует

 

№902820-10-2015 20:41:30

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Dumby
Здорово получилось! Работает!

Отсутствует

 

№902923-10-2015 16:43:49

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

можно ли создать код, который будет позволять выполнять следующее:
чтобы при наведении курсора мыши на горизонтальный скролл и прокрутке колесиком, выполнялся скролл страницы влево-вправо
бывает не хватает такого функционала в FF

Отсутствует

 

№903024-10-2015 14:55:26

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

Re: Custom Buttons

Inko7
Как-то крутит, наверно

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

Выделить код

Код:

(obj => {
    var name = "CB" + _id.slice(20) + ":WheelHScroller:Destroy";
    var url = "data:," + encodeURIComponent(obj.toSource()) + ".init('" + name + "');";
    messageManager.loadFrameScript(url, true);
    addDestructor(() => {
        messageManager.removeDelayedFrameScript(url);
        messageManager.broadcastAsyncMessage(name);
    });
})({
    k: 1,
    init: function(name) {
        this.name = name;
        addEventListener("wheel", this, false);
        addMessageListener(name, this);
        this.scroll = this.scroll.bind(this);
    },
    receiveMessage: function() {
        removeEventListener("wheel", this, false);
        removeMessageListener(this.name, this);
    },
    dir: 0,
    timeStamp: 0,
    handleEvent: function(e) {
        if (
            !e.originalTarget.nodeName.startsWith("xul:") || !e.deltaY
            || e.target != e.target.ownerDocument.documentElement
            //|| e.target.ownerGlobal != content
            || !this.isTarget(e.originalTarget)

        ) return;
        e.preventDefault();

        var delta = e.timeStamp - this.timeStamp + 1;
        this.timeStamp = e.timeStamp;
        var dir = e.deltaY < 0 ? -1 : 1;
        if (dir != this.dir) {
            this.dir = dir;
            this.incr = 0;
        }
        this.date = Date.now();
        this.incr += dir * this.k * Math.min(160/delta, 32) + dir;

        if (this.scrolling) return;
        this.win = e.target.ownerGlobal;
        this.scrolling = true;
        this.scroll();
    },
    isScrollbar: function(node)
        node.nodeName == "scrollbar" &&
        node.getAttribute("orient") == "horizontal"
    ,
    isTarget: function(node)
        this.isScrollbar(node = this.getParent(node)) ||
        this.isScrollbar(this.getParent(node))
    ,
    scroll: function() {
        if (Date.now() - this.date > 120)
            this.scrolling = this.incr = 0;
        else {
            this.win.scrollBy(this.incr, 0);
            this.win.requestAnimationFrame(this.scroll);
        }
    },
    get getParent() {
        delete this.getParent;
        var du = Components.classes["@mozilla.org/inspector/dom-utils;1"]
            .getService(Components.interfaces.inIDOMUtils);
        return this.getParent = node => du.getParentForNode(node, true);
    }
});

Отсутствует

 

№903124-10-2015 16:45:32

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Dumby
да, крутит, но жаль не везде...
можно как-то заставить код работать на сайте https://trello.com ?
там, на созданных досках, когда на них много карточек, появляется горизонтальный скролл
и вот на нём код не срабатывает... :(
. . .
может там какой-то другой скроллбар?

вот на этом сайте
0386c01deeec.jpg

а вот как на обычных других (на таких работает)
680793abeb2b.jpg

Отредактировано Inko7 (24-10-2015 18:28:45)

Отсутствует

 

№903224-10-2015 19:22:47

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 41.0

Re: Custom Buttons

Dumby
А можно изменить скорость прокрутки?

Отсутствует

 

№903325-10-2015 09:31:31

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

Re: Custom Buttons

Inko7 пишет

может там какой-то другой скроллбар?

Ну, на картинке выглядит обычным.
Может это скроллбар не страницы, а какого-то элемента.
Попробуй так

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

Выделить код

Код:

(obj => {
    var name = "CB" + _id.slice(20) + ":WheelHScroller:Destroy";
    var url = "data:," + encodeURIComponent(obj.toSource()) + ".init('" + name + "');";
    messageManager.loadFrameScript(url, true);
    addDestructor(() => {
        messageManager.removeDelayedFrameScript(url);
        messageManager.broadcastAsyncMessage(name);
    });
})({
    k: 1,
    init: function(name) {
        this.name = name;
        addEventListener("wheel", this, false);
        addMessageListener(name, this);
        this.scroll = this.scroll.bind(this);
    },
    receiveMessage: function() {
        removeEventListener("wheel", this, false);
        removeMessageListener(this.name, this);
    },
    dir: 0,
    timeStamp: 0,
    handleEvent: function(e) {
        if (
            !e.originalTarget.nodeName.startsWith("xul:")
            || !e.deltaY
            || !this.isTarget(e.originalTarget)

        ) return;
        e.preventDefault();

        var delta = e.timeStamp - this.timeStamp + 1;
        this.timeStamp = e.timeStamp;
        var dir = e.deltaY < 0 ? -1 : 1;
        if (dir != this.dir) {
            this.dir = dir;
            this.incr = 0;
        }
        this.date = Date.now();
        this.incr += dir * this.k * Math.min(160/delta, 32) + dir;

        if (this.scrolling) return;
        this.trg = e.target;
        this.win = e.target.ownerGlobal;
        this.scrolling = true;
        this.scroll();
    },
    isScrollbar: function(node)
        node.nodeName == "scrollbar" &&
        node.getAttribute("orient") == "horizontal"
    ,
    isTarget: function(node)
        this.isScrollbar(node = this.getParent(node)) ||
        this.isScrollbar(this.getParent(node))
    ,
    scroll: function() {
        if (Date.now() - this.date > 120)
            this.scrolling = this.incr = 0;
        else {
            this.trg == this.win.document.documentElement
                ? this.win.scrollBy(this.incr, 0)
                : this.trg.scrollLeft += this.incr;
            this.win.requestAnimationFrame(this.scroll);
        }
    },
    get getParent() {
        delete this.getParent;
        var du = Components.classes["@mozilla.org/inspector/dom-utils;1"]
            .getService(Components.interfaces.inIDOMUtils);
        return this.getParent = node => du.getParentForNode(node, true);
    }
});

Ultima2m пишет

А можно изменить скорость прокрутки?

Можно попробовать в десятой строке: k: 1,
заменить единицу, например, на 3 или на 0.08
А вобще, скролл там от балды расчитывается, — я не программист.

Отсутствует

 

№903425-10-2015 10:30:46

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Dumby
Да, теперь работает !!! Спасибо! :beer:

Отсутствует

 

№903525-10-2015 10:47:34

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 41.0

Re: Custom Buttons

Да, вроде и скорость подкрутилась.
У меня еще вопрос возник: можно ли расширить "зону активности"?
Сейчас код работает при наведении курсора на скроллбар, а хотелось бы, чтобы эта область была 5-10% от ширины окна.

Отсутствует

 

№903625-10-2015 19:52:16

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 41.0

Re: Custom Buttons

Поскольку кнопка [CB] Автовыделение ++ приказывает долго жить, ищу замену и вот что нашел:
есть два похожих дополнения:
(1) - Phrase Highlighter
(2) - Multiple-Highlighter
работают вроде бы замечательно и даже есть разноцветное выделение, но некоторых фишек не хватает.

Вот и хочу попросить подсказать код, который и будет добавлять недостающее:
(1) - в этом дополнении нет возможности отключить включенную подсветку (убрать выделение на странице). Как ее можно отключить в реальном времени? Хочу своей CB кнопкой включать подсветку и отключать её. Пресеты создам сам, т.к. слова сохраняются в about:config.
(2) - где дополнение хранит введенные слова? в about:config не нашел. Хотелось бы как-то своими кнопками сразу включать нужные пресеты, включать подсветку и отключать её
Если всё получится, то это будет отличнейшая замена старой кнопке.

Отсутствует

 

№903727-10-2015 21:25:24

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 41.0

Re: Custom Buttons

Пытаюсь сам безуспешно экспериментировать с Multiple-Highlighter:
Никак не получается прописать свои слова в строки. У них вроде такие атрибуты:
id = XPHLtextarea0
id = XPHLtextarea1
id = XPHLtextarea2
id = XPHLtextarea3
class = textarea
name = textarea
Пробую так:
window.getElementsById("XPHLtextarea0").value = "123456";
или так
gBroser.getElementsById("XPHLtextarea0").value = "123456";
вообще не работает, даже кнопка становится неактивной
своих мозгов не хватает, а подобных примеров в уже готовых кнопках не встречалось
еще нужно узнать какая команда выполняется по нажатию "ON","OFF" и "CLEAN"
Спецы, помогите решить задачку!

Отсутствует

 

№903829-10-2015 12:24:22

LordNEVR
Участник
 
Группа: Members
Зарегистрирован: 26-08-2015
Сообщений: 3
UA: Firefox 38.0

Re: Custom Buttons

LordNEVR пишет

Приветствую.
Можно сделать код кнопки "Очистить удалённые"?
6329522.png
Хочу поместить её  на панель кнопок.

Никто не поможет? )

Отсутствует

 

№903902-11-2015 23:29:35

beggrr
Участник
 
Группа: Members
Зарегистрирован: 04-02-2014
Сообщений: 128
UA: Firefox 25.0

Re: Custom Buttons

Я использую код для перезагрузки отдельно взятой картинки

Выделить код

Код:

function reloadImage(){
      img.src = '';
      setTimeout(function(){img.src = src+"?random="+new Date().getTime()}, 100)
   }

Работает нормально, но на анимированных гифках бывает, что обновленная картинка статична, не двигается.
Можно что-то с этим кодом сделать?

Отсутствует

 

№904003-11-2015 03:40:36

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

LordNEVR
Ставь АтрибутИнспектор и посмотри команду кот-я выполняется
oncommand=<тут будет какой-то код>.
Записуй её в кнопку в секцию кода.

Отсутствует

 

№904105-11-2015 00:12:17

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

Re: Custom Buttons

Я задал вопрос в разделе стили, но как я понял, через css это не сделаешь.

Что мне надо: уменьшить кнопку "Назад" и по возможности, перенести кнопку "Обновить" по левую сторону адресной строки.
Может в СВ это можно сделать?

Отсутствует

 

№904205-11-2015 11:11:13

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1228
UA: Firefox 42.0

Re: Custom Buttons

Ki_rrrilll
Кнопка "Остановить - Перезагрузить". Если не нужна в адресной строке - можно убрать стилем, но себе я оставил. Пусть будет альтернатива.

Отсутствует

 

№904308-11-2015 00:20:39

wolwerine
╒╤╬╧╣╠═╝
 
Группа: Members
Зарегистрирован: 15-04-2009
Сообщений: 159
UA: Firefox 44.0

Re: Custom Buttons

Не работает в developer edition.

Отсутствует

 

№904408-11-2015 16:21:44

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4002
UA: Seamonkey 2.38

Re: Custom Buttons

А нельзя-ли (опционально ?) открывать редактирование кнопки во вкладке, вместо окна ? Основное окно не всегда уменьшить возможно чтобы сразу и редактор видеть, а лазить в трей, да ещё когда включена группировка или full screen - только мозоль на пальце натирать.
Прошу прощения если подобная ересь уже озвучивалась. Не нашёл. :angel:

Отсутствует

 

№904508-11-2015 16:55:43

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 42.0

Re: Custom Buttons

Coroner
https://github.com/Infocatcher/Custom_Buttons/tree/master/Edit_Custom_Button_in_Tab

Отсутствует

 

№904608-11-2015 17:17:03

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4002
UA: Firefox 42.0

Re: Custom Buttons

Inko7, благодарю :beer: и извиняюсь за то что плохо искал.

Отсутствует

 

№904710-11-2015 15:13:23

>ORG@niZM<
Участник
 
Группа: Members
Зарегистрирован: 20-08-2013
Сообщений: 66
UA: Firefox 38.0

Re: Custom Buttons

Sh1ro пишет

Всем доброго времени суток, никто не подскажет с кодом для перехода на последнюю активную вкладку?..

эх, мечты. Я б от такого тоже не отказался.

Добавлено 10-11-2015 15:16:22

bunda1 пишет
fokanik пишет

Что посоветуете?

Выделить код

Код:

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%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20vto%20%3D%20%7B%0A%20%20%20%20distanceShow%3A%202%2C%0A%20%20%20%20distanceHide%3A%2064%2C%0A%20%20%20%20showDelay%3A%20320%2C%0A%20%20%20%20color%3A%20%22lightblue%22%2C%0A%20%20%20%20fringe%3A%20%22black%22%2C%0A%20%20%20%20padding%3A%203%2C%0A%20%20%20%20name%3A%20%22VT%22%2C%0A%0A%20%20%20%20btn%3A%20this%2C%0A%20%20%20%20tcm%3A%20document.getElementById%28%22toolbar-context-menu%22%29%2C%0A%20%20%20%20ctm%3A%20document.getElementById%28%22customization-toolbar-menu%22%29%2C%0A%20%20%20%20deck%3A%20document.getElementById%28%22content-deck%22%29%2C%0A%20%20%20%20id%3A%20%22cb-vt%22%2C%0A%0A%20%20%20%20get%20cust%28%29%20gBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%2C%0A%20%20%20%20get%20xs%28%29%20%7B%0A%20%20%20%20%20%20%20%20delete%20this.xs%3B%0A%20%20%20%20%20%20%20%20return%20this.xs%20%3D%20Cc%5B%22@mozilla.org/xul/xulstore%3B1%22%5D.getService%28Ci.nsIXULStore%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20init%3A%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28this.cust%20%7C%7C%20this.btn._destructors.length%29%20return%3B%0A%0A%20%20%20%20%20%20%20%20var%20vt%20%3D%20this.initVT%28%29%3B%0A%20%20%20%20%20%20%20%20var%20vto%20%3D%20this%3B%0A%0A%20%20%20%20%20%20%20%20this.btn.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.button%20%7C%7C%20vto.toggleVT%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20window.addEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20window.addEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20window.addEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.tcm.addEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.tcm.addEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%0A%20%20%20%20%20%20%20%20vto.toggleVT%28vt.hasOwnProperty%28%22on%22%29%20%3F%20vt.on%0A%20%20%20%20%20%20%20%20%20%20%20%20%3A%20%21this.xs.hasValue%28location%2C%20vto.id%2C%20%22collapsed%22%29%0A%20%20%20%20%20%20%20%20%29%3B%0A%20%20%20%20%20%20%20%20this.resize%28%29%3B%0A%20%20%20%20%20%20%20%20vto.btn._destructors.push%28%7Bcontext%3A%20vto%2C%20destructor%3A%20vto.destroy%7D%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20destroy%3A%20function%28reason%29%20%7B%0A%20%20%20%20%20%20%20%20window.removeEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20window.removeEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20window.removeEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.tcm.removeEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.tcm.removeEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.setCollapser%28false%29%3B%0A%0A%20%20%20%20%20%20%20%20if%20%28reason%20%3D%3D%20%22destructor%22%20%26%26%20this.cust%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20vto%20%3D%20this%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vto.resize%28%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20gNavToolbox.addEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20CustomizableUI.addListener%28vto%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20this.ctm.addEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.ctm.addEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20window.addEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20gNavToolbox.addEventListener%28%22aftercustomization%22%2C%20function%20ac%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20ac%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20gNavToolbox.removeEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20CustomizableUI.removeListener%28vto%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vto.ctm.removeEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vto.ctm.removeEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.removeEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById%28vto.btn.id%29%20%7C%7C%20vto.destroyVT%28%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20%28reason%20%3D%3D%20%22delete%22%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20CustomizableUI.removeWidgetFromArea%28this.btn.id%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.destroyVT%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20handleEvent%3A%20function%28e%29%20this%5Be.type%5D%28e%29%2C%0A%0A%20%20%20%20command%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28e.target.id%20%21%3D%20%22toggle_%22%20+%20this.id%29%20return%3B%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20this.toggleVT%28%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20popupshowing%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20var%20menuitem%20%3D%20e.target.querySelector%28%22%23toggle_%22%20+%20this.id%29%3B%0A%20%20%20%20%20%20%20%20menuitem%20%26%26%20menuitem.setAttribute%28%22checked%22%2C%20this.vt.on%29%3B%0A%20%20%20%20%20%20%20%20if%20%28this.cust%20%7C%7C%20%21this.vt.contains%28e.target.triggerNode%29%29%20return%3B%0A%20%20%20%20%20%20%20%20for%28var%20selector%20of%20%5B%22.customize-context-moveToPanel%22%2C%20%22.customize-context-removeFromToolbar%22%5D%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20menuitem%20%3D%20e.target.querySelector%28selector%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20menuitem%20%26%26%20menuitem.removeAttribute%28%22disabled%22%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%0A%20%20%20%20mousemove%3A%20function%20collapser%28e%29%20%7B%0A%20%20%20%20%20%20%20%20var%20distance%20%3D%20collapser.distance%20%3D%20e.screenX%20-%20document.documentElement.boxObject.screenX%3B%0A%20%20%20%20%20%20%20%20if%20%28collapser.waiting%29%20return%3B%0A%20%20%20%20%20%20%20%20if%20%28distance%20%3C%3D%20this.distanceShow%20%26%26%20this.vt.collapsed%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28this.showDelay%20%3C%201%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.vt.collapsed%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20collapser.waiting%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28function%28vto%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28collapser.distance%20%3E%3D%20vto.distanceShow%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20collapser.waiting%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vto.vt.collapsed%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20collapser.waiting%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20this.showDelay%2C%20this%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20if%20%28distance%20%3E%3D%20this.distanceHide%20%26%26%20%21this.vt.collapsed%29%0A%20%20%20%20%20%20%20%20%20%20%20%20this.vt.collapsed%20%3D%20true%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20setCollapser%3A%20function%28set%29%20%7B%0A%20%20%20%20%20%20%20%20set%0A%20%20%20%20%20%20%20%20%3F%20this.cust%20%7C%7C%20window.addEventListener%28%22mousemove%22%2C%20this%2C%20false%29%0A%20%20%20%20%20%20%20%20%3A%20window.removeEventListener%28%22mousemove%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20callCollapser%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20this.mousemove%28%7BscreenX%3A%20document.documentElement.boxObject.screenX%20+%20MousePosTracker._x%7D%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20customizationready%3A%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20window.removeEventListener%28%22customizationready%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20this.vt.on%20%26%26%20this.insertBox%28true%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20resize%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20this.vt.style.maxHeight%20%3D%20this.deck.boxObject.height%20+%201%20+%20%22px%22%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20popupshown%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%20%20%20%20popuphidden%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%0A%20%20%20%20handlePopup%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28%0A%20%20%20%20%20%20%20%20%20%20%20%20this.vt.collapsed%20%7C%7C%20this.vt.on%0A%20%20%20%20%20%20%20%20%20%20%20%20%7C%7C%20%28e.target.localName%20%21%3D%20%22menupopup%22%20%26%26%20e.target.localName%20%21%3D%20%22panel%22%29%0A%20%20%20%20%20%20%20%20%29%20return%3B%0A%20%20%20%20%20%20%20%20setTimeout%28function%28vto%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20hasPopup%20%3D%20Array.concat%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Array.slice%28document.getElementsByTagName%28%22menupopup%22%29%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Array.slice%28document.getElementsByTagName%28%22panel%22%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.some%28function%28popup%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22state%22%20in%20popup%20%26%26%20popup.state%20%3D%3D%20%22open%22%20%26%26%20%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vto.vt.contains%28popup%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%7C%20%28%22triggerNode%22%20in%20popup%20%26%26%20vto.vt.contains%28popup.triggerNode%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%7C%20%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22anchorNode%22%20in%20popup%20%26%26%20popup.anchorNode%20%26%26%20%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vto.vt.contains%28popup.anchorNode%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%7C%20vto.vt.contains%28document.getBindingParent%28popup.anchorNode%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vto.setCollapser%28%21hasPopup%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20hasPopup%20%7C%7C%20vto.callCollapser%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%2C%20200%2C%20this%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20onWidgetAfterDOMChange%3A%20function%28...a%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28a%5B2%5D%20%3D%3D%20this.vt.box%29%20this.vt.hbox.style.minWidth%20%3D%20this.vt.boxObject.width%20+%20%22px%22%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20initVT%3A%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20var%20id%20%3D%20this.id%3B%0A%20%20%20%20%20%20%20%20var%20boxId%20%3D%20id%20+%20%22-customization-target%22%3B%0A%20%20%20%20%20%20%20%20var%20vt%20%3D%20this.vt%20%3D%0A%20%20%20%20%20%20%20%20%20%20%20%20document.getElementById%28id%29%20%7C%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20document.createElement%28%22toolbar%22%29%3B%0A%20%20%20%20%20%20%20%20var%20attrs%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20id%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20mode%3A%20%22icons%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20iconsize%3A%20%22small%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20orient%3A%20%22vertical%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20customizable%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20persist%3A%20%22collapsed%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20toolbarname%3A%20this.name%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20fullscreentoolbar%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20class%3A%20%22chromeclass-toolbar%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20context%3A%20%22toolbar-context-menu%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20style%3A%20%22-moz-appearance%3A%20none%3B%20display%3A%20-moz-box%3B%20height%3A%20100%25%3B%20position%3A%20fixed%3B%20min-width%3A%2020px%22%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20for%28var%20attr%20in%20attrs%29%20vt.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%20%20%20%20%20%20%20%20if%20%28%21vt.parentNode%29%20%7B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20box%20%3D%20vt.box%20%3D%20document.createElement%28%22vbox%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vt.appendChild%28box%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box.id%20%3D%20boxId%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20box.style.cssText%20%3D%20%22height%3A%20100%25%3B%20width%3A%20100%25%3B%22%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20vt.customizationTarget%20%3D%20box%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20gNavToolbox.appendChild%28vt%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28CustomizableUI.areas.indexOf%28id%29%20%3D%3D%20-1%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20CustomizableUI.registerArea%28id%2C%20%7Blegacy%3A%20true%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20box.removeAttribute%28%22class%22%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20box.__defineGetter__%28%22localName%22%2C%20function%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Components.stack.caller.toString%28%29.indexOf%28%22custombutton.buttonConstructor%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%3D%20-1%20%3F%20%22vbox%22%20%3A%20%22toolbar%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vt.hbox%20%3D%20document.createElement%28%22hbox%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20vt.hbox.id%20%3D%20id%20+%20%22-hbox%22%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20vt.box.style.padding%20%3D%20%220%20%22%20+%20this.padding%20+%20%22px%22%3B%0A%20%20%20%20%20%20%20%20vt.style.backgroundColor%20%3D%20this.color%3B%0A%20%20%20%20%20%20%20%20vt.style.borderRight%20%3D%20%221px%20solid%20%22%20+%20this.fringe%3B%0A%20%20%20%20%20%20%20%20return%20vt%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20destroyVT%3A%20function%28reason%29%20%7B%0A%20%20%20%20%20%20%20%20var%20vt%20%3D%20this.vt%3B%0A%20%20%20%20%20%20%20%20CustomizableUI.unregisterArea%28vt.id%2C%20%7B%7D%29%3B%0A%20%20%20%20%20%20%20%20vt.hbox.parentNode%20%26%26%20vt.hbox.parentNode.removeChild%28vt.hbox%29%3B%0A%20%20%20%20%20%20%20%20vt.parentNode%20%26%26%20vt.parentNode.removeChild%28vt%29%3B%0A%0A%20%20%20%20%20%20%20%20this.xs.removeValue%28location%2C%20vto.id%2C%20%22collapsed%22%29%3B%0A%20%20%20%20%20%20%20%20this.xs.removeValue%28location%2C%20vto.id%2C%20%22currentset%22%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20insertBox%3A%20function%28ins%29%20%7B%0A%20%20%20%20%20%20%20%20var%20vt%20%3D%20this.vt%3B%0A%20%20%20%20%20%20%20%20var%20box%20%3D%20vt.hbox%3B%0A%20%20%20%20%20%20%20%20if%20%28%21ins%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20box.parentNode%20%26%26%20box.parentNode.removeChild%28box%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20var%20id%20%3D%20this.cust%20%3F%20%22customization-palette-container%22%20%3A%20%22sidebar-box%22%3B%0A%20%20%20%20%20%20%20%20var%20point%20%3D%20document.getElementById%28id%29%3B%0A%20%20%20%20%20%20%20%20point.parentNode.insertBefore%28box%2C%20point%29%3B%0A%20%20%20%20%20%20%20%20var%20mw%20%3D%20function%28%29%20box.style.minWidth%20%3D%20vt.boxObject.width%20+%20%22px%22%3B%0A%20%20%20%20%20%20%20%20mw%28%29%3B%20setTimeout%28mw%2C%20100%29%3B%0A%20%20%20%20%7D%2C%0A%20%20%20%20toggleVT%3A%20function%28on%29%20%7B%0A%20%20%20%20%20%20%20%20var%20vt%20%3D%20this.vt%3B%0A%20%20%20%20%20%20%20%20if%20%28on%20%3D%3D%20undefined%29%20on%20%3D%20%21vt.on%3B%0A%20%20%20%20%20%20%20%20vt.on%20%3D%20on%3B%0A%20%20%20%20%20%20%20%20this.setCollapser%28%21on%29%3B%0A%20%20%20%20%20%20%20%20vt.collapsed%20%3D%20%21on%3B%0A%20%20%20%20%20%20%20%20this.insertBox%28on%29%3B%0A%20%20%20%20%7D%0A%7D%3B%0Avto.init%28%29%3B%0A%0A%0Afunction%20addBackground%28e%29%20%7B%0A%20%20%20setTimeout%28function%28%29%20%7B%0A%20%20%20%20%20%20var%20toolbar%20%3D%20document.getElementById%28%27cb-vt%27%29%3B%0A%20%20%20%20%20%20var%20win%20%3D%20document.getElementById%28%22main-window%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20image%20%3D%20win.style.backgroundImage%3B%0A%20%20%20%20%20%20if%20%28%20image%20%3D%3D%20%27%27%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20toolbar.style.background%20%3D%20%27%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20toolbar.style.background%20%3D%20image%3B%0A%20%20%20%20%20%20toolbar.style.backgroundSize%20%3D%20%27auto%20100%25%27%3B%0A%20%20%20%7D%2C%20500%29%3B%0A%7D%3B%0AaddBackground%28%29%3B%20%0AServices.obs.addObserver%28%20addBackground%2C%20%22lightweight-theme-styling-update%22%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20Services.obs.removeObserver%28%20addBackground%2C%20%22lightweight-theme-styling-update%22%29%20%29%3B%20%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

А можно эту панель справа разместить?

Отредактировано >ORG@niZM< (10-11-2015 15:16:22)

Отсутствует

 

№904810-11-2015 21:49:07

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4002
UA: Firefox 42.0

Re: Custom Buttons

>ORG@niZM< пишет

эх, мечты. Я б от такого тоже не отказался.

А если не мечтать, а в поиске набрать ? https://forum.mozilla-russia.org/viewto … 86#p610186 :angel:

Отсутствует

 

№904911-11-2015 08:56:02

>ORG@niZM<
Участник
 
Группа: Members
Зарегистрирован: 20-08-2013
Сообщений: 66
UA: Firefox 38.0

Re: Custom Buttons

Coroner пишет

А если не мечтать, а в поиске набрать ?

А если еще и самому проверить, прежде чем давать ссылку?
Этот код давно мною используется и он не соотвествует фич-реквесту из цитаты.

Отсутствует

 

№905011-11-2015 13:13:45

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4002
UA: Firefox 42.0

Re: Custom Buttons

>ORG@niZM< пишет

А если еще и самому проверить, прежде чем давать ссылку?

Найди ссылку, проверь код, отпишись и ещё извинись ? Я мог бы и не отвечать, а послать на пункт 2.1 правил форума Впрочем могли бы и чуть дальше полистать, если лень читать правила и пользоваться поиском. Всё работает, если не лениться. Да и грубить не стоит.

>ORG@niZM< пишет

фич-реквесту

Что это ? пункт 2.3 правил форума Если имеетсяв виду вопрос, то он вполне  соответствует тому что Вы написали. Если написали не то или не то имели в виду - это Ваша проблема. Вопросы лучше задавать правильно.

>ORG@niZM< пишет

А можно эту панель справа разместить?

Тоже по теме лень поискать ? Разместить можно. Работать нормально не будет.

Отсутствует

 

Board footer

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