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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 02-11-2018 23:05:11

Vitaliy V. пишет:

toxa пишет:

А можно получить текст подсказки, которая выделяется мышкой?
Как я понимаю, в этом случае надо слушать событие не popupshowing, а скажем mousedown

Или mouseup как в [firefox] но можете изменить на mousedown
[spoiler][code]var PopupClickForSuggestion = {
    init: function() {
        var panel = document.querySelector("#PopupSearchAutoComplete"), suggestclick = false, suggestbox, Index;
        var mouseup = (event) => {
            if (event.button != 2 || (Index = panel.selectedIndex) < 0)
                return;
            console.log(panel.view.getValueAt(Index));
        };
        var popupshowing = () => {
            this.removeListeners();
            suggestbox = (panel.tree && panel.tree.lastElementChild) || panel.richlistbox;
            suggestbox.addEventListener("mouseup", mouseup, false);
            suggestclick = true;
        };
        this.removeListeners = function() {
            if (!suggestclick)
                panel.remo

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 01-11-2018 20:32:08

Vitaliy V. пишет:

toxa пишет:

получить текст подсказки ...

Это не конкретно для tree (в новых версиях [firefox] там уже нет tree) а для панели #PopupSearchAutoComplete
получить текст можно так, просто примеры:

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

Выделить код

Код:

document.querySelector("#PopupSearchAutoComplete").addEventListener("popupshowing", function() {
    var index = 0; // индекс свой подставляете или находите...
    console.log(this.view.getLabelAt(index));
}, false);

так получить текст самой нижней подсказки

Выделить код

Код:

document.querySelector("#PopupSearchAutoComplete").addEventListener("popupshowing", function() {
    var view = this.view;
    console.log(view.getLabelAt((view.rowCount || view.matchCount)-1));
}, false);


Vitaliy V
А можно получить текст подсказки, которая выделяется мышкой?
Как я понимаю, в этом случае надо слушать событие не popupshowing, а скажем mousedown.
Я нажимаю на подсказку правой кнопкой, она выделяется и в консоли появляется ее текст. Как это реал

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 31-10-2018 15:03:09

Vitaliy V. пишет:

toxa пишет:

А если я  хочу настроить адресную строку, панели...?

The Browser Toolbox enables you to debug add-ons and the browser's own JavaScript code rather than just web pages like the normal Toolbox.

Именно для этого - для интерфейса [firefox], не путайте с обычной панелью инструментов для веб-страниц,
но сначала откройте их и в настройках включите:
"Включить инструменты отладки browser chrome и дополнений"
"Включить удалённую отладку"
после этого в меню Инструменты -> Веб-разработка появится пункт "Инструменты браузера" или сочетание клавиш Ctrl+Alt+Shift+I для вызова инструментов

Во как, не знал этого!
Ну я попробовал - работать с ним можно, но по удобству и продуманности интерфейса - с DOМ Inspector-ом никакого сравнения. Но все равно спасибо!


Ну раз уж тут идет разговор о treechildren, может кто подскажет. Как получить текст подсказки Гугла из выпадающего списка searchbar браузера. Не на странице Гугла, а в самом брауз

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 30-10-2018 00:38:13

Vitaliy V.
Dumby

Благодарю! :)

Vitaliy V.

А вообще инспектор встроенный же есть

А если я  хочу настроить адресную строку, панели...?

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 29-10-2018 16:08:10

Подскажите пожалуйста. В дополнении DOM Inspector есть одна очень неудобная вещь.
В левой панели которая называется Документ - Узлы DOM, когда выделяешь какой то узел, шрифт становится белым. На голубом фоне выделения его почти не видно.

Можно что то сделать через userChrome.css?

Сustom Buttons » Custom Buttons » 17-10-2018 22:00:52

Dobrov
Спасибо за код! :rock:

Сustom Buttons » Custom Buttons » 13-10-2018 20:44:17

Есть код позволяющий написать нужный текст в statubar?
Я имею в виду внизу, где отображается url ссылки.

Сustom Buttons » Custom Buttons » 10-08-2018 19:25:20

toxa пишет:

Как в findbar перенести счетчик совпадений в самое начало

и желательно сделать чтоб текст там был вида 1/5 как это было в кнопке Find+

Уже не актуально

Сustom Buttons » Custom Buttons » 07-08-2018 20:39:48

Как в findbar перенести счетчик совпадений в самое начало
https://s15.postimg.cc/tiu2ekfg7/2018-08-07_203051.jpg

и желательно сделать чтоб текст там был вида 1/5 как это было в кнопке Find+

Сustom Buttons » Custom Buttons » 27-07-2018 00:30:24

momo2000 пишет:

toxa
только это
http://forum.mozilla-russia.org/viewtopic.php?pid=759770#p759770
[spoiler]((bar, button = true, insertAtTop = true, ctrlFcloseFinbar = false) => ({
    init(parent) {
        var has = bar = parent.querySelector("#appcontent > findbar");
        has || this.initFinbar(parent);
        var lo = bar.linkedObject;
        lo.listenCtrlF = ctrlFcloseFinbar
            ? listen => listen
                ? addEventListener("keydown", lo, true)
                : removeEventListener("keydown", lo, true)
            : () => {};
        has && !bar.hidden && lo.listenCtrlF(true);
        if (button) self._handleClick = () => bar.hidden
            ? bar.startFind(bar.FIND_NORMAL)
            : bar.collapsed || bar.close();
        addDestructor(lo.destroy, lo);
    },
    destroy(reason) {
        if (reason[5] != "e") return;
        bar.close();
        bar._browser = {};
        bar.remove();
        this.setProgressListener(false);
        for(var key o

Сustom Buttons » Custom Buttons » 25-07-2018 00:08:09

Господа, на мой пост №12719 на предыдущей странице никто не ответил, поэтому попрошу еще раз.
Можно подправить кнопку Find+ ? Счетчик совпадений  перестал показывать совпадения в инпутах и textarea, хотя подсветка найденного работает. В консоли при этом ошибка TypeError: findbarFinder._getEditableNode is not a function

Сustom Buttons » Custom Buttons » 14-07-2018 11:52:07

У меня до недавнего времени безотказно работала кнопка find вот с этим кодом
[spoiler][code]const forceFind = false, forceFindCS = true;

// Приклеить элемент findbar к странице( #appcontent ) ................................
const fbID = "FindToolbar-m";
delete window.gFindBar;
window.gFindBar = document.getElementById(fbID);
if (!gFindBar) {
    gFindBar = gBrowser.parentNode.insertBefore(document.createElement("findbar"), gBrowser);
    gFindBar.id = fbID;
    gFindBar.setAttribute("browserid", "content");
    gFindBar.clientTop;
    delete window.gFindBarInitialized;
    window.gFindBarInitialized = true;
    gFindBar._selectionMaxLen = 1000;    // лимит символов для поиска
}


// Ctrl+F, показать - скрыть панель поиска ....................................
function toggleFindbar() gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
addEventListener("keydown", function(e)
    e.keyCode == e.DOM_VK_F && e.ctrlKey && !e.altKey && !e.shiftKey
    && !e.preventDefault() && t

Поддержка пользователей » Управление скрэтчпэдом без мыши » 30-07-2017 14:51:00

Как можно в простом редакторе JavaScript клавишами перевести фокус с тестового поля на меню Файл, Правка, Вид и т. д.?
ТАВ только двигает каретку, но фокус не меняет.

Сustom Buttons » Custom Buttons » 20-10-2016 21:56:13

yup пишет:

Н-да. Уточнение оказалось не менее двусмысленным, чем исходный вопрос. Попробую дать максимально всеоблемлющий ответ.
Сохранить исходные обработчики:

Выделить код

Код:

savelinks = document.links;
for (var i=savelinks.length-1; i>=0; i++) savelinks[i].myattribute = savelinks[i].onmouseover

Восстановить запомненные обработчики: выбранному объекту назначить обработчик выбранного события с таким содержимым:

Выделить код

Код:

for (var i=savelinks.length-1; i>=0; i++) savelinks[i].onmouseover = savelinks[i].myattribute

yup
Работает, правда так

Выделить код

Код:

for (var i=savelinks.length-1; i>=0; i++)

даёт ошибку "savelinks is not defined"
Но вот так

Выделить код

Код:

for (var i=0; i<savelinks.length;  i++)

работает без ошибок. А зачем у вас такая хитромудрая запись цикла?

А я то сначала пытался сделать не

Выделить код

Код:

savelinks[i].myattribute = savelinks[i].onmouseover

а

Выделить код

Код:

savelinks[i].setAttribute('myattribute', savelinks[i].onmouseover)

т. е. не присваивал свойство, а назнач

Сustom Buttons » Custom Buttons » 20-10-2016 19:19:13

yup пишет:

toxa
Вопрос о том, как именно присвоить, или как определить момент, что пора присваивать?

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

Сustom Buttons » Custom Buttons » 20-10-2016 17:14:23

На странице есть ссылки и на них повешены обработчики link.onmouseover = function(){...} - функции могут быть и разные.
Потом все эти обработчики удаляются, но я хотел бы их восстановить. Чтоб как то сохранить, каждой ссылке я присваиваю атрибут со значением ее onmouseover.

Выделить код

Код:

var links = document.links;
for (i=0; i<links.length; i++) {
     links[i].setAttribute('myattribute',  links[i].onmouseover)
 }

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

Сustom Buttons » Custom Buttons » 17-10-2016 12:22:11

Спасибо bunda1 за помощь с таймером.  Я сделал, все работает.

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

Сustom Buttons » Custom Buttons » 13-10-2016 20:24:14

Ну а с моим вопросом по таймеру как?
https://forum.mozilla-russia.org/viewtopic.php?pid=724576#p724576

Сustom Buttons » Custom Buttons » 13-10-2016 18:04:39

У меня по нажатию на кнопку создается таймер

Выделить код

Код:

timer = setInterval (function(){...}, 100)

И получается, если нажать кнопку пока этот таймер тикает, создается еще один таймер  с этим же идентификатором. И первый уже остановить невозможно.
Как сделать, чтобы не создавались дополнительные таймеры пока первый работает?

Сustom Buttons » Custom Buttons » 08-10-2016 12:28:20

Подскажите, если я открываю через window.open() окно с параметром chrome и в нём загружается сайт, можно сделать, чтоб ссылки  открывались в этом же окне в новых вкладках?

Сustom Buttons » Custom Buttons » 25-08-2016 14:40:04

bunda1 и turbot
Спасибо!! :music:

Сustom Buttons » Custom Buttons » 25-08-2016 10:32:36

Подскажите, если я открываю окно с помощью window.open() можно в  параметрах прописать что то вроде always on top - чтобы окно было всегда поверх всех остальных окон?

И еще вопрос, как скриптом клонировать текущую вкладку и открыть ее слева от теперешней текущей?

Сustom Buttons » Обсуждение кнопок CB » 31-05-2016 21:15:34

Dumby пишет:

toxa пишет:

как будет быстрее работать

У меня так алертится разница примерно раза в три-четыре

Ясно. Спасибо большое!

Сustom Buttons » Обсуждение кнопок CB » 31-05-2016 17:36:21

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

Выделить код

Код:

string.replace(/re/g, 'abc')

или так

Выделить код

Код:

string.split(/re/).join('abc')

Board footer

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