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

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

№1222628-09-2017 09:39:46

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

bunda1 пишет

Уважаемый bunda1
На этом сайте и ещё на многих других это обеспечивается content.document.getElementsByTagName("textarea")[0].scrollBy

Ну я же писал что работает в Блокноте в вкладке, а там только одна textarea. А так okkamas_knife прав.

Кроме того, на этом сайте, на этой странице есть поле PRE - там ни 0, ни 1, ни 2, ни 3 не помогают.... А это поле - код под спойлером.

Да, на этой странице 5 PRE, вот как это можно узнать alert(content.document.getElementsByTagName("PRE").length);. Для того что бы передвигать PRE нужно узнать на каком по счёту PRE находится фокус или курсор и использовать content.document.getElementsByTagName("textarea")[?].scrollBy. Или как я уже писал получить textarea или PRE по клику из e.target. Не знаю какой вариант лучше.

Вот я и спрашиваю - как получить его  из e.target по клику (или не из e.target - но по клику).
Я хочу по клику:
1) Узнать скроллится ли этот элемент отдельно  (есть у него типа overflow) или нет. Наверное есть какое-то свойство, которое об этом говорит. Можно ли его получить по клику или нет?
2) Если этот элемент скроллится отдельно, мне надо его отдельно проскроллить не колёсиком, если не скроллится отдельно - то как сейчас - проскролить весь контент.
3) Допустим, я узнал - и оно отдельно скроллится (у него есть типа overflow).  Я могу узнать как называется нужный элемент (напр. если у него есть ID (e.target.id - я его могу получить, а потом - по  getElementById,  если нет ИД, то могу узнать e.target.nodeName)
4) Скорее всего - у него нет ИД, я получаю e.target.nodeName - как по этому имени узнать нужный мне номер? Число элементов  PRE не поможет, мне надо знать конкретный index для кликнутого элемента.
5) Вот как это сделать?
а) узнать скроллится или нет -> б)если скроллится -> получить его по getElement... -> в) проскроллить.

Добавлено 28-09-2017 09:44:10

bunda1 пишет

Добавлено 28-09-2017 09:31:35
Кстати, оказывается textarea можно легко получить из content.document.activeElement . Типа:

Выделить код

Код:

var el = content.document.activeElement.localName;
if ( el.localName = 'textarea' ) el.scrollBy();

Но с pre это не работает.

Спасибо. Но мне ещё надо узнать скроллится ли эта textarea или нет - если там пусто или всего 2-3 короткие строки - она отдельно скроллиться не будет.

Отредактировано difabor (28-09-2017 09:55:50)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1222728-09-2017 11:21:24

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

Re: Custom Buttons

1) Узнать скроллится ли этот элемент отдельно  (есть у него типа overflow) или нет. Наверное есть какое-то свойство, которое об этом говорит. Можно ли его получить по клику или нет?

Я не знаю как узнать скроллится ли этот элемент отдельно и мне кажется это не нужным, пусть ползователь сам смотрит можно ли передвигать textarea или pre.

Вот я и спрашиваю - как получить его  из e.target по клику (или не из e.target - но по клику).

Выделить код

Код:

addEventListener("click", (e, trg = e.target)=>{
 if ( trg.localName == 'pre' ) alert('pre');
 if ( trg.localName == 'textarea' ) alert('textarea');
}, false, gBrowser);

Добавлено 28-09-2017 11:24:09
trg и будет pre или textarea

Отредактировано bunda1 (28-09-2017 11:24:09)

Отсутствует

 

№1222828-09-2017 15:20:48

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2186
UA: Palemoon 27.0

Re: Custom Buttons

difabor
Во первых вам уже сказали что это для не e10s...
потому что вызов content из chrome скрипта вернёт null в e10s
и не только content

скрытый текст
gBrowser.contentWindow;                    // null

gBrowser.contentDocument;                  // null

gBrowser.selectedBrowser.contentWindow;    // null

window.content;                            // null

content;                                   // null


А то что у вас пока работает - это прокладки совместимости которые уже удалены в новых [firefox]

Узнать скроллится ли этот элемент отдельно  (есть у него типа overflow) или нет.

Я бы как-то так сделал для frame скрипта https://developer.mozilla.org/en-US/Fir … d_lifetime
но должно работать и из chrome (с не e10s)

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

Выделить код

Код:

var Click_Event_Handler = {
    scrollable: null,
    scrolldir: null,
    init: function() {
        addEventListener("click", this, false);
    },
    handleEvent: function(e) {
        this.find_ScrollableElement(e.target); 
        if (!this.scrollable) return;
        if (this.scrolldir == "NS") //прокрутка по вертикали
            this.scrollable.scrollBy(0, 50);
        else if (this.scrolldir == "EW") //прокрутка по горизонтали
            this.scrollable.scrollBy(50, 0);
        else if (this.scrolldir == "NSEW") //прокрутка по вертикали и горизонтали
            this.scrollable.scrollBy(50, 50);
    },
    find_ScrollableElement(aNode) {
        const scrollingAllowed = ["scroll", "auto"];
        for (this.scrollable = aNode; this.scrollable; this.scrollable = this.scrollable.parentNode) {
            if (!(this.scrollable instanceof content.HTMLElement) || ((this.scrollable instanceof content.HTMLSelectElement) && !this.scrollable.multiple))
                continue;
            var overflowx = this.scrollable.ownerGlobal.getComputedStyle(this.scrollable).getPropertyValue("overflow-x");
            var overflowy = this.scrollable.ownerGlobal.getComputedStyle(this.scrollable).getPropertyValue("overflow-y");
            var scrollVert = this.scrollable.scrollTopMax && (this.scrollable instanceof content.HTMLSelectElement || scrollingAllowed.indexOf(overflowy) >= 0);

            if (!(this.scrollable instanceof content.HTMLSelectElement) && this.scrollable.scrollLeftMin != this.scrollable.scrollLeftMax && scrollingAllowed.indexOf(overflowx) >= 0) {
                this.scrolldir = scrollVert ? "NSEW" : "EW";
                break;
            } else if (scrollVert) {
                this.scrolldir = "NS";
                break;
            }
        }

        if (!this.scrollable) {
            this.scrollable = aNode.ownerGlobal;
            if (this.scrollable.scrollMaxX != this.scrollable.scrollMinX) {
                this.scrolldir = this.scrollable.scrollMaxY != this.scrollable.scrollMinY ? "NSEW" : "EW";
            } else if (this.scrollable.scrollMaxY != this.scrollable.scrollMinY) {
                this.scrolldir = "NS";
            } else if (this.scrollable.frameElement) {
                this.find_ScrollableElement(this.scrollable.frameElement);
            } else {
                this.scrollable = null; 
            }
        }
    },
    destroy: function() {
        removeEventListener("click", this, false);
    }
};
Click_Event_Handler.init();
addEventListener("unload", function unload() {
    removeEventListener("unload", unload, false);
    Click_Event_Handler.destroy();
}, false);


PS: этот код не для textarea а для элементов где есть overflow...

Отредактировано Vitaliy V. (28-09-2017 17:06:44)

Отсутствует

 

№1222928-09-2017 18:26:58

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

Vitaliy V. пишет

Во первых вам уже сказали что это для не e10s...
потому что вызов content из chrome скрипта вернёт null в e10s
и не только content

Во-первых, большое спасибо, Vitaliy V. - и за разъяснение и за код. Постараюсь имплементировать что смогу (что позволит моя скудная квалификация).
Во-вторых, поскольку я дилетант, то для меня очень важно понять. У меня нет сомнения, что если корифей пишет, что это не для e10s, то так оно и есть.
Но когда я вижу, что в e10s оно работает, возникает естественный вопрос - почему?
Я, повторяю, не знаток, чтобы знать, что вызов content (и не только content ) из chrome скрипта вернёт null в e10s - теперь буду знать.

Vitaliy V. пишет

А то что у вас пока работает - это прокладки совместимости которые уже удалены в новых [firefox]

Vitaliy V., вполне возможно, что в будущих новых  [firefox] предложенная СВ не будет работать и не в e10s - мало кнопок СВ отвалилось?
Я - человек простой, что вижу - то пою, как говорится. А вижу я, что в моей версии 52.3.0 ESR работает - откуда же мне знать, что это благодаря прокладкам совместимости?
Но безотносительно всего этого - ещё раз большое спасибо за разъяснение и за код.
Пользуясь случаем, хочу уяснить для себя: почему в коде анализируется отдельно горизонтальное, вертикальное и оба направления:

Выделить код

Код:

if (this.scrolldir == "NS") //прокрутка по вертикали
            this.scrollable.scrollBy(0, 50);
        else if (this.scrolldir == "EW") //прокрутка по горизонтали
            this.scrollable.scrollBy(50, 0);
        else if (this.scrolldir == "NSEW") //прокрутка по вертикали и горизонтали
            this.scrollable.scrollBy(50, 50);

Почему нельзя сразу дать this.scrollable.scrollBy(50, 50), даже если есть только одно из направлений? Вместо скроллинга убежит фокус или другая какая-то причина?


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1223028-09-2017 19:37:12

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2186
UA: Palemoon 27.0

Re: Custom Buttons

difabor пишет

почему в коде анализируется отдельно горизонтальное, вертикальное и оба направления: ... Почему нельзя сразу дать this.scrollable.scrollBy(50, 50), даже если есть только одно из направлений?

Так это пример для наглядности, и может что ещё понадобится сделать или отменить по этим условиям.

Отредактировано Vitaliy V. (28-09-2017 19:40:00)

Отсутствует

 

№1223128-09-2017 20:19:20

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

Vitaliy V. пишет
difabor пишет

почему в коде анализируется отдельно горизонтальное, вертикальное и оба направления: ... Почему нельзя сразу дать this.scrollable.scrollBy(50, 50), даже если есть только одно из направлений?

Так это пример для наглядности, и может что ещё понадобится сделать или отменить по этим условиям.

Спасибо


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1223229-09-2017 16:29:23

Vvld
Участник
 
Группа: Members
Зарегистрирован: 03-07-2008
Сообщений: 17
UA: Firefox 56.0

Re: Custom Buttons

bunda1
поправьте, пожалуйста вашу кнопку "Очистить кэш и удалить флэш куки" https://forum.mozilla-russia.org/viewtopic.php?pid=486538#p486538
Перестала работать в FF 55

Отсутствует

 

№1223330-09-2017 09:40:20

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

Re: Custom Buttons

Infocatcher пишет

немного оживил DOM Inspector: dom_inspector-2.0.16-fixed.xpi

Предположительно снова сломали (пустые панели).

document.querySelector(":-moz-devtools-highlighted"); на 57.0b4 возвращает null,

а на 58.0a1 (2017-09-29) образует ошибку
SyntaxError: ':-moz-devtools-highlighted' is not a valid selector

Возможно как-то связано с этим.

Закомментировал соответствующую строку и панели появились,
и, вроде, даже Flasher работает.

\inspector@mozilla.org\chrome\inspector\content\inspector\Flasher.js

Выделить код

Код:

function Flasher(aColor, aThickness, aDuration, aSpeed, aInvert)
{
  //document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);


(добавлено) Или, может, лучше так
скрытый текст

Выделить код

Код:

function Flasher(aColor, aThickness, aDuration, aSpeed, aInvert)
{
  //document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);
  try {
    document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);
  } catch(ex) {
    if (ex.message != "'" + HIGHLIGHTED_PSEUDO_CLASS + "' is not a valid selector")
      throw ex;
  }


P.S. Насчёт этого, разреши тогда просто спросить,
загружаются ли в отдельные окна адреса вида
data:application/vnd.mozilla.xul+xml,… . Типа да или нет.

Отредактировано Dumby (30-09-2017 15:13:04)

Отсутствует

 

№1223430-09-2017 22:00:13

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.48

Re: Custom Buttons

А как в [seamonkey] 2.48 можно сохранить скрин видимой области страницы - без запроса, в папку загрузок. Если файл с таким именем уже существует - то перезаписать.
Поискал в готовых - не скринится что-то ни одна кнопка, только PDF-ица.

Отсутствует

 

№1223501-10-2017 10:54:52

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 505
UA: Firefox 45.0

Re: Custom Buttons

Поделитесь кнопкой(когда-то видел, не нужна была) щас понадобилась - немогу найти.
Кнопка с таким действием: "Не закрывать меню GreaseMonkey при вкл\выкл скриптов"


...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation

Отсутствует

 

№1223601-10-2017 11:02:04

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 56.0

Отсутствует

 

№1223701-10-2017 14:36:27

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 505
UA: Firefox 45.0

Re: Custom Buttons

Да, благодарю!


...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation

Отсутствует

 

№1223801-10-2017 23:00:03

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

Re: Custom Buttons

Есть прога AdvOR. С ярлыка на рабочем столе запускаю с такой командой --QuickStart "Maxthon" Как это можно запускать через кнопку запуска приложений, тыкал - мыкал, никак не могу прикрутить эту команду в кнопку. Или сделать чтобы запускался не .exe файл, а ярлык на рабочем столе, в нём команда уже прописана.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№1223902-10-2017 00:48:18

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

Обнаружил, что этот код Dumby

Выделить код

Код:

((listener, popup = document.getElementById("greasemonkey-tbb").firstChild) =>
    ["mousedown", "popuphiding"].forEach(type => addEventListener(type, listener, false, popup))
)({handleEvent(e) {
    if (e.type != "popuphiding") this.flag = e.target.script && !e.button;
    else if (this.flag) e.preventDefault(setTimeout(obj => obj.flag = false, 50, this));
}});

ведёт себя по-разному, в зависимости от того, на каком тулбаре размещена иконка greasemonkey-tbb
1) Если на nav-bar - всё ОК, меню остаётся открытым после включения/отключения скрипта на этом меню Левой Кнопкой Мыши (ЛКМ).
2) Если на PersonalToolbar или menubar- то после первого клика меню не закрывается, а после второго - закрывается, как правило. После этого, оно открывается лишь после второго клика на дропмаркер.
3) Если на других тулбарах - меню закрывается после первого же клика ЛКМ по менюитему и затем оно тоже открывается лишь после второго клика на дропмаркер.
"Игрался" с задержками, менял mousedown на mouseup, добавлял mouseup - ничего не помогает...
Причём поведение на всех тулбарах, кроме  nav-bar трудно назвать консистентным - иногда меню закрывалось после клика ЛКМ на менюитем, а потом снова открывалось. Это случалось крайне редко.
Может Dumby посмотрит в чём дело и вынесет окончательный вердикт?


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1224002-10-2017 14:02:02

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

Re: Custom Buttons

villa7 пишет

сделать чтобы запускался не .exe файл, а ярлык на рабочем столе, в нём команда уже прописана

За Windows NT 5.1 не скажу, но у меня на Win7, вроде, так работает

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

Выделить код

Код:

Components.Constructor("@mozilla.org/file/local;1", "nsIFile", "initWithPath")
    ("C:\\Users\\Admin\\Desktop\\ярлык.lnk").launch();

difabor пишет

Если на PersonalToolbar

Поставил Greasemonkey 3.16 на Firefox 52.0, и, действительно, вижу такое.
Чудеса какие-то. Попробовал переделать. Тоже не конфета, но, надеюсь, чуть получше.

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

Выделить код

Код:

(listener => {
    if (listener.init() || !("CustomizableUI" in window)) return;

    var widget = CustomizableUI.getWidget("greasemonkey-tbb");
    if (!widget || widget.areaType != "menu-panel") return;
    var panel = document.getElementById("PanelUI-popup");
    panel && addEventListener("popupshown", function func() {
        removeEventListener("popupshown", func, false, panel);
        listener.init();
    }, false, panel);
})({
    ts: 0, handleEvent(e) {this[e.type](e);},
    init() {
        var btn = document.getElementById("greasemonkey-tbb");
        if (!btn || !btn.firstChild) return false;
        for(var type of ["mousedown", "popuphiding"])
            addEventListener(type, this, false, this.popup = btn.firstChild);
        return true;
    },
    getNode() {
        var node = this.popup.querySelector("menuitem[_moz-menuactive]:hover");
        return node && node.script && node;
    },
    popuphiding(e) {
        e.target == this.popup && this.getNode()
        && Cu.now() - this.ts < 400 && e.preventDefault();
    },
    mousedown(e) {
        if (e.button) return this.ts = 0;
        var node = this.getNode();
        if (node) node.setAttribute("closemenu", "none"), this.ts = Cu.now();
    }
});

Отсутствует

 

№1224102-10-2017 18:13:43

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

Dumby пишет
difabor пишет

Если на PersonalToolbar

Поставил Greasemonkey 3.16 на Firefox 52.0, и, действительно, вижу такое.
Чудеса какие-то. Попробовал переделать. Тоже не конфета, но, надеюсь, чуть получше.

Большущее спасибо! Работает везде!
Почему не конфетка? Конфетка!


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1224202-10-2017 18:27:34

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

Re: Custom Buttons

Dumby
Поменял на свои пути (WinXP), всё запускает отлично. Спасибо.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№1224303-10-2017 04:00:59

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

Позаимствовал ещё одну функцию из расширений: DisableBackspaceNavigation
Вкратце - в чём суть.
В Мозилле клавиша Backspace выполняет двойную роль: в текстовых полях она стирает символ слева от курсора, а в полях, где можно только читать делает операцию Back, то есть то же, что и стрелка "Назад".
Казалось бы логично: стирать нечего - зачем же добру пропадать?
Но представьте себе, что вы набирали какой-то текст в текстовом поле, затем нечаянно сдвинули мышку за пределы и, думая, что вы еще в текстовом поле - хотите стереть символ, нажимая Backspace.
И вместо этого вы переходите на предыдущий сайт/страницу этой вкладки... Сюрприз не из приятных.
Короче, эта функция Back иногда выходит боком...
Код, который я привожу блокирует эту функцию Back. Он полностью взят из расширения по ссылке.

В инициализацию

Выделить код

Код:

function DisableBackspaceNavigation (){this.removeKey=function(keyset){
        var keys = keyset.getElementsByTagName ("key");
        for (var n = 0; n < keys.length; n++)    {    var key = keys[n];
            if (key.tagName != "key")    {continue;}
            if (key.getAttribute("keycode")!="VK_BACK"){continue;}
            if (key.getAttribute("command")!="cmd_handleBackspace"){continue}

            key.removeAttribute ("command");
            key.removeAttribute ("keycode");     }                           }

    this.traverseKeysets = function ()         {
        var keysets = document.getElementsByTagName ("keyset");
        for (var n = 0; n < keysets.length; n++){
            var keyset = keysets[n];
            if (keyset.tagName != "keyset"){continue;}
            if (keyset.getAttribute ("id") != "mainKeyset")    {continue;}
            this.removeKey (keyset);                   }    }
    this.traverseKeysets ();
}

var disableBackspaceNavigation = new DisableBackspaceNavigation ();


Если через адресную строку

Выделить код

Код:

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%3EDisableBackSpace4Back%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEADAwAAAEAGAAlAgAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAMAAAADAgGAAAAVnVc5wAAAexJREFUKJE9kL1PU2Echd/BUahxYBFiKBgpRltEWj8SBxIn48Yf4NBidOhVEyXGycGoXSQxLiYmJn6QKCbQSm+LGBwcSEShvb181gjhI6mAFWupxfv+HodLGM5whnPynKPqe9J4jCS1RhJP1MQTNakxhvBEk9TfSPNqbBlBIwiCRu2NmqjuOCoSR0UGUZcSqHCCmivv6B3Js1V1EHEQ0WgR1D4jiYokUN0JNxAeRF18S9udj3xZ+IWI7Egj4qBqDdNtDyfYExmguec9D4fzLKyVeZDKM18oISLoyhYbr/t3AuE4B66lud5nYS1v4jiCIw7zhRL3Ut+YXCyy/vQZ0yfPojxRk87YJ74uFl1eBIRdlNXCT950XSZ35Dh2IIjabyS5b+bR4qBFqGy740QEcf6xFuvFrmsg423Bbguh6owUj0YX0KJZ+f2XAatApeq+Up6YwG4/RabRR6aplZw/hGq4OkT/+CrlbYfk1AZLxS20FnS5zNLNW2QbW8h6W8l6fUz5O1D+26OMfS9izq3zo1TdRfnzeRz7aAdZr49J72Emm1uxAiFU+IXF2OImKzN5NodHWH/ZR+HxE+YudJE5eIhMk4+s15V17ATq+YcZZu/GmD13Hqv9NHZbCNsfxPZ3kAsEyQWCrg8EmT7TyX9ES6TdDpzxSQAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0Afunction%20DisableBackspaceNavigation%20%28%29%7Bthis.removeKey%3Dfunction%28keyset%29%7B%0A%09%09var%20keys%20%3D%20keyset.getElementsByTagName%20%28%22key%22%29%3B%0A%09%09for%20%28var%20n%20%3D%200%3B%20n%20%3C%20keys.length%3B%20n++%29%09%7B%09var%20key%20%3D%20keys%5Bn%5D%3B%0A%09%09%09if%20%28key.tagName%20%21%3D%20%22key%22%29%09%7Bcontinue%3B%7D%0A%09%09%09if%20%28key.getAttribute%28%22keycode%22%29%21%3D%22VK_BACK%22%29%7Bcontinue%3B%7D%0A%09%09%09if%20%28key.getAttribute%28%22command%22%29%21%3D%22cmd_handleBackspace%22%29%7Bcontinue%7D%0A%0A%09%09%09key.removeAttribute%20%28%22command%22%29%3B%0A%09%09%09key.removeAttribute%20%28%22keycode%22%29%3B%20%20%20%20%20%7D%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%7D%0A%0A%09this.traverseKeysets%20%3D%20function%20%28%29%20%20%20%20%20%20%20%20%20%7B%0A%09%09var%20keysets%20%3D%20document.getElementsByTagName%20%28%22keyset%22%29%3B%0A%09%09for%20%28var%20n%20%3D%200%3B%20n%20%3C%20keysets.length%3B%20n++%29%7B%0A%09%09%09var%20keyset%20%3D%20keysets%5Bn%5D%3B%0A%09%09%09if%20%28keyset.tagName%20%21%3D%20%22keyset%22%29%7Bcontinue%3B%7D%0A%09%09%09if%20%28keyset.getAttribute%20%28%22id%22%29%20%21%3D%20%22mainKeyset%22%29%09%7Bcontinue%3B%7D%0A%09%09%09this.removeKey%20%28keyset%29%3B%20%20%20%20%20%20%20%20%20%20%20%09%09%7D%09%7D%0A%09this.traverseKeysets%20%28%29%3B%0A%7D%0A%0Avar%20disableBackspaceNavigation%20%3D%20new%20DisableBackspaceNavigation%20%28%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%0Acustombuttons.editButton%28this%29%3B%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


Если вы решите отключить эту кнопку, то после отключения сделайте рестарт.

Отредактировано difabor (03-10-2017 04:19:08)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1224403-10-2017 18:03:34

tom911
Участник
 
Группа: Members
Зарегистрирован: 20-05-2011
Сообщений: 174
UA: Firefox 56.0

Re: Custom Buttons

А че с custom buttons будет в дальнейшем при переходе на 57 firefox? Или может уже есть версия дополнения работающая в 57?

Отсутствует

 

№1224504-10-2017 13:01:38

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

Re: Custom Buttons

tom911 пишет

А че с custom buttons будет в дальнейшем при переходе на 57 firefox?

Будет? Могу показать что есть на бете 57.0b5
А что будет, это знают только провидцы и инсайдеры.

Вот смотри, на предпоследних отсюда трёх страницах
предоставлен config.js и предоставлено четыре варианта CB.

Кто-нибудь из тех, кто мог бы быть заинтересован,
но пока не готов справиться сам, попробовал и отписался?
Поблагодарил? Выразил недоумение? Отругал?
Никто. Всем пофиг. Вот так оно и будет.

Несомненно только одно: Custom Buttons прекратит своё существование.
Весь вопрос в том когда. Сверхнадежда — дотащить до 59 ESR.

Отсутствует

 

№1224604-10-2017 14:53:32

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 56.0

Re: Custom Buttons

Скорей всего с [firefox] 56 такое(давно не смотрел):

скрытый текст
241942d73d6026716e7f89824cca09ee.jpg

Все 28 кнопок работают, но без возможности редактировать, удалять в [firefox] . custom_buttons-0.0.5.8.9-fixed6pre.xpi Не устанавливается. Это уже не исправить и с Custom Buttons у меня всё?

Отсутствует

 

№1224704-10-2017 17:45:19

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 52.0
Веб-сайт

Re: Custom Buttons

Dumby пишет
tom911 пишет

А че с custom buttons будет в дальнейшем при переходе на 57 firefox?

Будет? Могу показать что есть на бете 57.0b5
А что будет, это знают только провидцы и инсайдеры.

Вот смотри, на предпоследних отсюда трёх страницах
предоставлен config.js и предоставлено четыре варианта CB.

Кто-нибудь из тех, кто мог бы быть заинтересован,
но пока не готов справиться сам, попробовал и отписался?
Поблагодарил? Выразил недоумение? Отругал?
Никто. Всем пофиг. Вот так оно и будет.

Несомненно только одно: Custom Buttons прекратит своё существование.
Весь вопрос в том когда. Сверхнадежда — дотащить до 59 ESR.

1. Надо как-то квалифицированно выразить своё недовольство. Квалифицированно и аргументировано.
Лучше всего имхо - если корифеи предложат типа шаблона такого протеста и скажут куда его отправить. Если протест будет массовым, это может и сыграет роль.
Но протест должен быть конструктивным, т.е. обосновывающим что СВ могут ужиться с основными требованиями WE, если в WE отказаться от того-то и того-то и подстроиться под то-то и то-то.
Иными словами, постараться обосновать, что security и performance можно добиться даже расширив рамки WE до такого (конкретного) уровня.
Дело в том, что практически все авторы расширений, совместимых с WE твердят в один голос, что пришлось отказаться от многих функций. Но ещё ни один (из того, что я читал) не отметил, что WE у него что-то улучшило.
2. Найти альтернативную платформу под СВ. Если это возможно - такое может подстегнуть команду мозиллы.
Сейчас они уповают на безысходность юзеров. А если перед юзерами забрезжит выход, не очень приемлемый для мозиллы и грозящий уходом юзеров, их команда может и задумается...


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1224804-10-2017 22:20:15

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 318
UA: Firefox 55.0

Re: Custom Buttons

Подскажите, существует кнопка - аналог расширения Add Bookmark Here ²?

Отсутствует

 

№1224908-10-2017 19:18:46

Lana21
Участник
 
Группа: Members
Зарегистрирован: 19-05-2008
Сообщений: 22
UA: Firefox 52.0

Re: Custom Buttons

del

Отредактировано Lana21 (17-10-2017 12:31:39)

Отсутствует

 

№1225009-10-2017 09:54:49

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 570
UA: Firefox 55.0

Re: Custom Buttons

Уважаемый, bunda1
Не могли бы Вы поправить кнопку Feed-button в адресной стоке для 57 версии.Она в ней не работает, появляется не в адресной строке, а на панели.

Отредактировано rubel (09-10-2017 09:55:24)

Отсутствует

 

Board footer

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