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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№1012605-05-2016 05:04:48

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 49.0

Re: Custom Buttons

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


Сам разобрался. :D
Если кому нужно, то вот:

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

Выделить код

Код:

var popup = document.getElementById('PopupAutoCompleteRichResult');
var target = popup.ownerDocument.getAnonymousElementByAttribute(popup, 'class', 'autocomplete-richlistbox');
var urlbar = document.getElementById('urlbar');
var dm = urlbar.ownerDocument.getAnonymousElementByAttribute(urlbar, 'class', 'autocomplete-history-dropmarker urlbar-history-dropmarker');
addEventListener('mouseup', (e)=> {
  let item = e.originalTarget;
  while (item && item.localName != 'richlistitem') {
    item = item.parentNode;
  }
  if (item && item.hasAttribute('selected') && e.button == 2) {
    var menuPopup = item.appendChild(document.createElement('menupopup'));
    menuPopup.id = 'awesomebar-context';
    menuPopup.onpopuphidden =e=> item.removeChild(menuPopup);
    menuPopup.onmouseup =e=> {window.content.focus(); setTimeout(()=>{dm.showPopup(); gURLBar.handleRevert(); setTimeout(()=>window.content.focus(),10)},0)};
    [
      {lbl: 'Копировать ссылку', cmd: 'gClipboard.write(this.parentNode.parentNode.getAttribute("url"));'},
      {lbl: 'Копировать ссылку как BBCode', cmd: 'gClipboard.write("[url]" + this.parentNode.parentNode.getAttribute("url") + "[/url]");'},
      {lbl: 'Копировать ссылку и название как BBCode', cmd: 'gClipboard.write("[url=" + this.parentNode.parentNode.getAttribute("url") + "]" + this.parentNode.parentNode.getAttribute("title") + "[/url]");'},
      {lbl: 'Копировать ссылку как HTML', cmd: 'gClipboard.write("<a href=" + this.parentNode.parentNode.getAttribute("url") + ">" + this.parentNode.parentNode.getAttribute("url") + "</a>");'},
      {lbl: 'Копировать ссылку и название как HTML', cmd: 'gClipboard.write("<a href=" + this.parentNode.parentNode.getAttribute("url") + ">" + this.parentNode.parentNode.getAttribute("title") + "</a>");'}

    ].forEach((m)=> {
      var mItem = document.createElement('menuitem');
      mItem.setAttribute('label', m.lbl);
      mItem.setAttribute('onclick', m.cmd + ' hidePopup();');
      menuPopup.appendChild(mItem);
    })
    menuPopup.openPopupAtScreen(e.screenX, e.screenY);
  }
}, false, target);


- добавляет к результатам попапапа адресной строки контекстное меню, с возможностью копировать адрес, адрес как bbcode/html, адрес и название как bbcode/html. Работает только с мышкой.


И все-таки прошу помощи:
скрытый текст
Из-за stopPropagation() на mouseup - перестают обновляться  результаты в #PopupAutoCompleteRichResult, пока его снова не откроешь через дропмаркер адресной строки. Не осилил сам найти решение.
Избавился от stopPropagation(), но все равно не обновляются результаты.

Поборол, но очень некрасиво получается. :rolleyes:
Хм, а еще меню появляется и на других .autocomplete-richlistbox. Например, в аддон-менеджере. Почему?
Исправил, вроде. Но не понимаю, почему document.querySelector('#PopupAutoCompleteRichResult > .autocomplete-richlistbox') - null возвращает и почему тогда код вообще работал?..

Отредактировано turbot (05-05-2016 12:11:35)

Отсутствует

 

№1012705-05-2016 11:12:32

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 881
UA: Firefox 45.0

Re: Custom Buttons

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

Отредактировано Stakhovsky (05-05-2016 11:52:02)

Отсутствует

 

№1012805-05-2016 12:40:06

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

Re: Custom Buttons

turbot пишет:

не понимаю, почему document.querySelector('#PopupAutoCompleteRichResult > .autocomplete-richlistbox') - null возвращает

Потому что, вроде, никогда такого не было, чтобы querySelector возвращал anonymous content

и почему тогда код вообще работал?

Потому что gBrowser.selectedTab = gBrowser.addTab("data:text/plain;charset=utf-8," + encodeURIComponent(addEventListener));

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

Выделить код

Код:

data:image/png;base64,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

Отсутствует

 

№1012905-05-2016 13:05:55

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 49.0

Re: Custom Buttons

Dumby пишет:

Потому что

О как. Спасибо. :)

Хм
А как же у тебя там работает:

Выделить код

Код:

var target = menuPopup.querySelector("menu[_moz-menuactive]:not([open])");

? Не пойму, в чем разница...

Отсутствует

 

№1013005-05-2016 14:39:12

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

Re: Custom Buttons

turbot пишет:

Не пойму, в чем разница

Мне казалось, что ты не дальтоник :/

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

Выделить код

Код:

data:image/png;base64,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

Отсутствует

 

№1013105-05-2016 17:32:51

ma3ca
Участник
 
Группа: Members
Зарегистрирован: 15-02-2009
Сообщений: 54
UA: Firefox 46.0

Re: Custom Buttons

turbot пишет:

ma3ca
Во вкладку "код":

Выделить код

Код:

(()=> {
  var theBox = document.commandDispatcher.focusedElement;
  if ( theBox && (theBox.type == "text" || theBox.type == "textarea") ) {
    var startPos = theBox.selectionStart;
    var endPos = theBox.selectionEnd;
    var selection = theBox.value.substring(startPos, endPos);
    theBox.value = '[url=' + gClipboard.read() + ']' + selection + '[/url]';
  }
})();

Нашёл один косячок, если выделяешь слово в тексте и вставляешь ссылку, то стирается весь окружающий это слово текст, форма очищается.
Это можно пофискить? :rolleyes:

Отсутствует

 

№1013205-05-2016 20:23:02

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 49.0

Re: Custom Buttons

ma3ca
Ага, там меня Dumby уже поправил. Прошу прощения, если что важное потерлось.

Dumby
Я не дальтоник. Просто дурак. https://lh3.googleusercontent.com/-w3mrwQZnzyw/VyuAqSXm_4I/AAAAAAAAcmI/I-bUAYhX-lc/s0/gigi_ny.gif
А красненькое-черненькое... я давно уже недоумевал, что это означает. И думал, "анонимный" - это которые id не имеют. Перечитал твою ссылку внимательней. Спасибо. :dumb:

Отсутствует

 

№1013305-05-2016 22:40:49

ma3ca
Участник
 
Группа: Members
Зарегистрирован: 15-02-2009
Сообщений: 54
UA: Firefox 46.0

Re: Custom Buttons

turbot пишет:

ma3ca
Ага, там меня Dumby уже поправил. Прошу прощения, если что важное потерлось.

Поставил новую версию, всё супер! Спасибо!!! :cool:

Отсутствует

 

№1013408-05-2016 09:46:10

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

Re: Custom Buttons

turbot пишет:

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


Сам разобрался. :D
Если кому нужно, то вот:

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

Выделить код

Код:

var popup = document.getElementById('PopupAutoCompleteRichResult');
var target = popup.ownerDocument.getAnonymousElementByAttribute(popup, 'class', 'autocomplete-richlistbox');
var urlbar = document.getElementById('urlbar');
var dm = urlbar.ownerDocument.getAnonymousElementByAttribute(urlbar, 'class', 'autocomplete-history-dropmarker urlbar-history-dropmarker');
addEventListener('mouseup', (e)=> {
  let item = e.originalTarget;
  while (item && item.localName != 'richlistitem') {
    item = item.parentNode;
  }
  if (item && item.hasAttribute('selected') && e.button == 2) {
    var menuPopup = item.appendChild(document.createElement('menupopup'));
    menuPopup.id = 'awesomebar-context';
    menuPopup.onpopuphidden =e=> item.removeChild(menuPopup);
    menuPopup.onmouseup =e=> {window.content.focus(); setTimeout(()=>{dm.showPopup(); gURLBar.handleRevert(); setTimeout(()=>window.content.focus(),10)},0)};
    [
      {lbl: 'Копировать ссылку', cmd: 'gClipboard.write(this.parentNode.parentNode.getAttribute("url"));'},
      {lbl: 'Копировать ссылку как BBCode', cmd: 'gClipboard.write("[url]" + this.parentNode.parentNode.getAttribute("url") + "[/url]");'},
      {lbl: 'Копировать ссылку и название как BBCode', cmd: 'gClipboard.write("[url=" + this.parentNode.parentNode.getAttribute("url") + "]" + this.parentNode.parentNode.getAttribute("title") + "[/url]");'},
      {lbl: 'Копировать ссылку как HTML', cmd: 'gClipboard.write("<a href=" + this.parentNode.parentNode.getAttribute("url") + ">" + this.parentNode.parentNode.getAttribute("url") + "</a>");'},
      {lbl: 'Копировать ссылку и название как HTML', cmd: 'gClipboard.write("<a href=" + this.parentNode.parentNode.getAttribute("url") + ">" + this.parentNode.parentNode.getAttribute("title") + "</a>");'}

    ].forEach((m)=> {
      var mItem = document.createElement('menuitem');
      mItem.setAttribute('label', m.lbl);
      mItem.setAttribute('onclick', m.cmd + ' hidePopup();');
      menuPopup.appendChild(mItem);
    })
    menuPopup.openPopupAtScreen(e.screenX, e.screenY);
  }
}, false, target);


- добавляет к результатам попапапа адресной строки контекстное меню, с возможностью копировать адрес, адрес как bbcode/html, адрес и название как bbcode/html. Работает только с мышкой.


И все-таки прошу помощи:
скрытый текст
Из-за stopPropagation() на mouseup - перестают обновляться  результаты в #PopupAutoCompleteRichResult, пока его снова не откроешь через дропмаркер адресной строки. Не осилил сам найти решение.
Избавился от stopPropagation(), но все равно не обновляются результаты.

Поборол, но очень некрасиво получается. :rolleyes:
Хм, а еще меню появляется и на других .autocomplete-richlistbox. Например, в аддон-менеджере. Почему?
Исправил, вроде. Но не понимаю, почему document.querySelector('#PopupAutoCompleteRichResult > .autocomplete-richlistbox') - null возвращает и почему тогда код вообще работал?..

У меня это конфликтует с Addon Manager Context Menu - правый клик на расширение в about:addons тоже даёт это меню вместо того, что надо


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

Отсутствует

 

№1013508-05-2016 10:01:01

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 49.0

Re: Custom Buttons

difabor
У вас последняя версия кода из поста? Я там несколько раз переделывал. И появление этого меню где не надо уже исправил.

Отсутствует

 

№1013608-05-2016 12:16:46

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

Re: Custom Buttons

turbot пишет:

difabor
У вас последняя версия кода из поста? Я там несколько раз переделывал. И появление этого меню где не надо уже исправил.

Спасибо!
Обновил


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

Отсутствует

 

№1013708-05-2016 20:39:38

adidharma
 
Группа: Members
Зарегистрирован: 15-08-2011
Сообщений: 754
UA: Firefox 47.0

Re: Custom Buttons

Для Pale Moon 26 понадобилась кнопка очистки загрузок, в поиске по форуму нашлось №6682, №6728 и №8042, но чёто никак не разберусь, как из этого сделать кнопку. :sick: Если у кого есть, выложите готовую, плиз. :blush:


pcxFirefox - лучшая сборка Лисы!

Отсутствует

 

№1013808-05-2016 23:20:41

Quartz1t
Участник
 
Группа: Members
Зарегистрирован: 25-11-2013
Сообщений: 101
UA: Palemoon 26.0

Re: Custom Buttons

С АМО удалили дополнение favicon reloader, видел аналогичную кнопку, но никак не найду... Прошу помощи в поиске.

нашел https://forum.mozilla-russia.org/viewtopic.php?id=64428

Отредактировано Quartz1t (08-05-2016 23:23:52)

Отсутствует

 

№1013911-05-2016 23:44:10

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 881
UA: Firefox 45.0

Re: Custom Buttons

Не подскажите, возможно ли как то решить проблему когда добавляя закладку, значек сайта (фавиконка) не всегда добавляется?
Знаю есть кнопка "Востановить иконки всех закладок" - использую, но может уже как то решена эта проблема по другому?

Отредактировано Stakhovsky (11-05-2016 23:44:38)

Отсутствует

 

№1014012-05-2016 13:25:25

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 182
UA: Firefox 38.0

Re: Custom Buttons

В Opera Presto когда курсор на горизонтальном скроллбаре прокрутка сдвигает страничку по горизонтали.
Можно сделать также?

Отсутствует

 

№1014112-05-2016 13:39:42

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

Re: Custom Buttons

ifln пишет:

В Opera Presto когда курсор на горизонтальном скроллбаре прокрутка сдвигает страничку по горизонтали.Можно сделать также?

В инициализацию любой кнопки

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

Выделить код

Код:

// Горизонтальная прокрутка.............................................................................................................................
(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: 4,
    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);
    }
});

Отсутствует

 

№1014212-05-2016 16:19:17

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 182
UA: Firefox 38.0

Re: Custom Buttons

Ultima2m, спасибо!
Отлично работает.

Отсутствует

 

№1014314-05-2016 14:59:56

selevo
Участник
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 230
UA: Firefox 38.0
Веб-сайт

Re: Custom Buttons

помогите с кнопкой надо чтобы при клике на неё она нажимала на ссылку "добавить товар"
вконтакте
там не отображается ссылка...
https://pp.vk.me/c633527/v633527960/29799/oaHczDPts_M.jpg

Отредактировано selevo (14-05-2016 15:01:02)


посади дерево, помоги планете.

Отсутствует

 

№1014418-05-2016 12:46:46

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 2231
UA: Firefox 46.0

Re: Custom Buttons

Если на странице фильма в кинопоиске, вставить в адресную строку  , после www., цифру 7 и нажать Enter
http://content.foto.my.mail.ru/mail/oleg.sgh2/_blogs/i-7015.jpg
то будет доступна кнопка Смотреть.
Можно кнопкой автоматизировать процесс,  вплоть до нажатия кнопки смотреть

скрытый текст
http://content-27.foto.my.mail.ru/mail/oleg.sgh2/_blogs/b-7016.png

одним нажатием кнопки на странице выбранного фильма?
Дополнения кинопоиска устарели и кнопка смотреть или не существует или не работает.
Устроит если сразу будет открываться плеер moonwalk
скрытый текст
http://content-9.foto.my.mail.ru/mail/oleg.sgh2/_blogs/b-7017.png

Нечто подобное реализовано в хроморасширении

Отсутствует

 

№1014518-05-2016 14:06:36

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

Re: Custom Buttons

У меня ищется на странице элемент

Выделить код

Код:

content.document.querySelector( ' [ атрибут* = " ' +значение+ ' " ] ')

Значение берётся из буфера обмена.
А как быть, если в значении присутсвуют немецкие умляуты?

Отсутствует

 

№1014618-05-2016 20:45:10

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

Re: Custom Buttons

rbfyec пишет:

А как быть, если в значении присутсвуют немецкие умляуты?

Может :/ кодировать в Unicode: convertFromUnicode("UTF-8", умляуты);

Отсутствует

 

№1014718-05-2016 21:58:36

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 49.0

Re: Custom Buttons

oleg.sgh
Там какая-то хитровымудренная хрень с jQuery, которая на click() по их кнопкам undefined возвращает. Я с этим не знаю что делать.

Отсутствует

 

№1014818-05-2016 22:42:00

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

Re: Custom Buttons

bunda1 пишет:

rbfyec пишет:

А как быть, если в значении присутсвуют немецкие умляуты?

Может :/ кодировать в Unicode: convertFromUnicode("UTF-8", умляуты);

Получается вот что.
Я хочу скопировать значение атрибута, чтоб потом подставить его в document.querySelector().
Но если в значении атрибута скажем есть буква "ä", она копируется в буфер как "%25C3%25A4".
Т. е. если в действительности было xzä то в буфере я получаю xz%25C3%25A4.
Понятно, что если подставить это в document.querySelector() оно ничего не находит.

И convertFromUnicode в этом не помощник.

Отсутствует

 

№1014918-05-2016 22:51:05

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4246
UA: Firefox 46.0

Re: Custom Buttons

rbfyec пишет:

У меня ищется на странице элемент

Выделить код

Код:

content.document.querySelector( ' [ атрибут* = " ' +значение+ ' " ] ')

Значение берётся из буфера обмена.
А как быть, если в значении присутсвуют немецкие умляуты?

https://developer.mozilla.org/en-US/doc … CSS/escape
Для старых версий можно попробовать https://developer.mozilla.org/en-US/doc … ring/quote

Добавлено 18-05-2016 22:53:18

rbfyec пишет:

Но если в значении атрибута скажем есть буква "ä", она копируется в буфер как "%25C3%25A4".

Эээ... не должно такого происходить, где-нибудь вызывается какой-нибудь encodeURIComponent(). Причем дважды:

Выделить код

Код:

decodeURIComponent("%25C3%25A4") // %C3%A4
decodeURIComponent("%C3%A4") // ä

Отредактировано Infocatcher (18-05-2016 22:53:18)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№1015019-05-2016 01:35:35

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

Re: Custom Buttons

Infocatcher
Разреши подурковать :blush:

скрытый текст
Мне кажется, что при исполнении той строки кода, которая предоставлена rbfyec'ом,
должен образовываться SyntaxError, поскольку есть пробел между «*» и «=».

И, скорей всего я что-то не так понял, но у меня запуск
такого, например, кода вполне себе алертит div без никакого CSS.escape()

Выделить код

Код:

gBrowser.selectedTab = gBrowser.addTab("data:text/html;charset=utf-8," + encodeURIComponent([

    '<!DOCTYPE html>',
    '<html>',
    '    <head>',
    '        <title>Умляут</title>',
    '    </head>',
    '    <body>',
    '        <div атрибут="a&#776">a&#776</div>',
    '    </body>',
    '</html>'

].join("\n")));

setTimeout(function() {
    gClipboard.write("ä");
    var значение = gClipboard.read();
    alert(
        content.document.querySelector('[атрибут*="' + значение + '"]')
    );
}, 1000);

Отсутствует

 

Board footer

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