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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№1122631-01-2017 19:00:45

Northtech
Участник
 
Группа: Members
Зарегистрирован: 16-04-2011
Сообщений: 259
UA: Firefox 51.0

Re: Custom Buttons

bunda1 пишет

Это я сразу понял. Мне интересно куда дальше используют полученный base64.

userChrome\userContent (чтобы не городить кучу иконок на диске, а держать всё в одном файле), просто в css на сайте использую в некоторых моментах (когда небольшие картинки).
Просто как пример:

Выделить код

Код:

/* Показ альфа-канала (если он есть) при наведении курсора мыши на картинку (ПКМ - Показать изображение) */
html:not([xmlns]):not([dir]):not([lang]) body > img:only-child:only-of-type:hover {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAAAAACo4kLRAAAAG0lEQVR42mO4AwLvQADBookggo9g0UJw+PkIAJdvZeAMVgxlAAAAAElFTkSuQmCC") !important;
}
bunda1 пишет

Зачем еще копировать результат из адресной строки, если кнопка сама уже скопировала результат. Я не понимаю в чём тут фишка.

ну пусть будет так, просто привык видеть что копирую.

Отсутствует

 

№1122731-01-2017 19:37:06

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

Re: Custom Buttons

Понятно. А с копированием результата из адресной строки какие то странные проблемы которые я не смог устранить.

Отсутствует

 

№1122831-01-2017 20:06:04

citehala
Участник
 
Группа: Members
Зарегистрирован: 07-05-2015
Сообщений: 63
UA: Firefox 51.0

Re: Custom Buttons

Привет ! Обновил Firefox до 51.0.1 (portable apps) - перестали работать все кнопки (штук 10) пропали подсказки к кнопкам.
Что случилось ? Может есть универсальное решение как всё поправить ?
Как же быть ?!

Может подождать обновления Custom Buttons 0.0.5.8.9 до следующей версии ?

Отредактировано citehala (31-01-2017 20:26:17)

Отсутствует

 

№1122931-01-2017 20:31:22

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

Re: Custom Buttons

citehala пишет

Привет ! Обновил Firefox до 51.0.1 (portable apps) - перестали работать все кнопки (штук 10) пропали подсказки к кнопкам.
Что случилось ? Может есть универсальное решение как всё поправить ?
Как же быть ?!

24-01-2017 15:55:57

Добавлено 31-01-2017 20:32:20

citehala пишет

Может подождать обновления Custom Buttons 0.0.5.8.9 до следующей версии ?

:(

Отредактировано bunda1 (31-01-2017 20:32:20)

Отсутствует

 

№1123001-02-2017 14:37:17

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Добрый день! Уважаемый bunda1, прошу Вас не забыть, очень надо.

https://forum.mozilla-russia.org/viewto … 31#p730131

Отредактировано Duche (01-02-2017 14:39:43)

Отсутствует

 

№1123101-02-2017 15:59:30

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

Re: Custom Buttons

Duche пишет

Добрый день! Уважаемый bunda1, прошу Вас не забыть, очень надо.
https://forum.mozilla-russia.org/viewto … 31#p730131

Пока не знаю что сделать с этим вопросом, потому что не понимаю код который ты привёл :/

Отсутствует

 

№1123201-02-2017 16:22:53

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

bunda1 пишет
Duche пишет

Добрый день! Уважаемый bunda1, прошу Вас не забыть, очень надо.
https://forum.mozilla-russia.org/viewto … 31#p730131

Пока не знаю что сделать с этим вопросом, потому что не понимаю код который ты привёл :/

Это кусок кода для примера всплывающей подсказки от моей рабочей кнопки "Двойным левым кликом на папке закладок добавлять закладку в папку закладок, от 09.05.2014" для примера всплывающей подсказки.
А так нужно дополнение для кнопки , добавляющее новую функцию и пункт в контекстное меню "Удалить  эту страницу из закладок" - удалить открытую из сохранённых закалок вкладку  и автоматически закрыть удаляемую вкладку после выполнения команды "Удалить  эту страницу из закладок" с показом всплывающей подсказки  в верху справа.

Выделить код

Код:

Двойным левым кликом на папке закладок добавлять закладку в папку закладок, от 09.05.2014. ................................
addEventListener("dblclick", function(e) {      
    var target = e.originalTarget;

    if ( e.button !== 0 || !target._placesNode || !PlacesUtils.nodeIsFolder( target._placesNode ) ) return;          
    var docTitle = ( content.document.title || gBrowser.mCurrentTab.label).substr(0, 50);
    var folderId = PlacesUtils.getConcreteItemId( target._placesNode );
    var folderTitle = PlacesUtils.bookmarks.getItemTitle( folderId );
    var currentURI = Services.io.newURI( content.location, null, null );
    PlacesUtils.bookmarks.insertBookmark( folderId, currentURI, 0, docTitle ); 
    
    
    // всплывающая подсказка низ ....
   //var favicon = gBrowser.mCurrentTab.image || "chrome://global/skin/icons/Portrait.png";
   //Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService)
   //.showAlertNotification(favicon, "Добавил в папку " + folderTitle + ":", docTitle);

   document.getElementById("contentAreaContextMenu").hidePopup(); 

    // всплывающая подсказка верх ....
     ((url, icon) => PlacesUtils.promiseFaviconLinkUrl(gBrowser.currentURI).then(
      uri => icon = uri.spec, () => icon = "chrome://global/skin/icons/Portrait.png"
      ).then(() => document.getElementById("contentAreaContextMenu").hidePopup() || openDialog(
      url, "", "popup=yes", icon, "Добавил в папку " + folderTitle + ":", docTitle, false, null, 4
      )))("chrome://global/content/alerts/alert.xul");
});

Надо приблизительно так , а иконку к строке  "Удалить  эту страницу из закладок" я пропишу сам.
12799280.jpg

Отредактировано Duche (01-02-2017 17:12:47)

Отсутствует

 

№1123301-02-2017 17:15:24

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

Re: Custom Buttons

bunda1
Давай я сделаю вброс, а вы с Duche обсудите

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

Выделить код

Код:

((popup, menugroup, bs) => addEventListener("popupshowing", {
    handleEvent(e) {
        if (this.shouldHide()) return;
        var before = popup.querySelector("#page-menu-separator + *");
        var menuitem = popup.insertBefore(document.createElement("menuitem"), before);
        addDestructor(() => menuitem.remove());
        var attrs = {
            label: "Удалить  эту страницу из закладок",
            class: "menuitem-iconic",
            oncommand: "removeBookmarks();"
        };
        for(var attr in attrs) menuitem.setAttribute(attr, attrs[attr]);

        var crop = (str, limit = 100) => str.length <= limit ? str : str.slice(0, limit) + "…";
        var notify = (num, msg) => {
            var forms = gNavigatorBundle.getString("editBookmark.removeBookmarks.label").replace(/ть/g, "л");
            (notify = (num, msg) => openDialog(
                "chrome://global/content/alerts/alert.xul", "", "popup=yes", menuitem.image,
                PluralForm.get(num, forms).replace("#1", num), msg, false, null, 4
            ))(num, msg);
        }
        menuitem.removeBookmarks = () => {
            var msg = crop(gBrowser.currentURI.spec) + "\n\n\Из:\n", num = 0;
            for(var id of this.ids) {
                var folder = bs.getFolderIdForItem(id);
                if (bs.getFolderIdForItem(folder) == PlacesUtils.tagsFolderId) continue;
                bs.removeItem(id);
                num++; msg += "\n" + (bs.getItemTitle(folder) || "[Безымянная папка]");
            }
            gBrowser.removeCurrentTab();
            notify(num, msg);
        }
        (this.handleEvent = () => {
            if ((menuitem.hidden = this.shouldHide())) return;
            var icon = gBrowser.selectedBrowser.mIconURL;
            menuitem.image = icon ? "moz-anno:favicon:" + icon : PlacesUtils.favicons.defaultFavicon.spec;
        })();
    },
    shouldHide(e) {
        if (menugroup.hidden) return true;
        var ids = bs.getBookmarkIdsForURI(gBrowser.currentURI);
        if (!ids.length) return true;
        this.ids = ids;
    }
}, false, popup))(
    document.getElementById("contentAreaContextMenu"),
    document.getElementById("context-navigation"), PlacesUtils.bookmarks
);

Отсутствует

 

№1123401-02-2017 18:20:14

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Dumby пишет

Давай я сделаю вброс, а вы с Duche обсудите

Всё работает отлично. Можно, чуть доработать кнопку в части- Поднять в контекстном меню "Удалить  эту страницу из закладок" на строку выше "Обновлять вкладку каждые" но ниже "Открыть |  Добавить как закладку в"   и во всплывающей подсказке, сделать "Удалил из ----------- в оду линию  с "откуда удалил" без ступеньки как сейчас.
Спасибо.

12793162.jpg

Отредактировано Duche (01-02-2017 18:53:39)

Отсутствует

 

№1123501-02-2017 19:38:08

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

Re: Custom Buttons

Duche пишет
Dumby пишет

Давай я сделаю вброс, а вы с Duche обсудите

Всё работает отлично. Можно, чуть доработать кнопку в части- Поднять в контекстном меню "Удалить  эту страницу из закладок" на строку выше "Обновлять вкладку каждые" но ниже "Открыть |  Добавить как закладку в"

Выделить код

Код:

var before = popup.children[1];

Отсутствует

 

№1123601-02-2017 19:52:49

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Как насчёт?

Duche пишет

и во всплывающей подсказке, сделать "Удалил из ----------- в оду линию  с "откуда удалил" без ступеньки как сейчас.

Отредактировано Duche (01-02-2017 20:00:49)

Отсутствует

 

№1123702-02-2017 09:03:03

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Просьба к bunda1. Есть Ваш старый код от 01-02-2011,для отображения в контекстном меню пункта "Печать". Только сейчас заметил , при редактировании  кнопки , где лежит код , через "Редактировать" кнопку (без изменения кода , просто нажал "редактировать" и "отмена") , сколько раз воспользуешься функцией  "Редактировать" кнопку , столько пунктов "Печать" и появляется в контекстном меню 2,3,4,5, пока не перезагрузишь Firefox. После перезагрузки, как и положено один пункт "Печать". Посмотрите пожалуйста, где ошибка в коде.

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

Выделить код

Код:

/*Initialization Code*/
(function() {
  var menuitem = document.createElement("menuitem");
  menuitem.setAttribute("oncommand", 'content.window.print();');
  menuitem.setAttribute("label", "\print");

  var saveimagecm = document.getElementById("context-saveimage");

  saveimagecm.parentNode.insertBefore(menuitem, saveimagecm);


})();

Отсутствует

 

№1123802-02-2017 19:09:20

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

Re: Custom Buttons

Duche

Выделить код

Код:

(()=> {
   var menuitem = document.createElement("menuitem");
   menuitem.setAttribute("oncommand", 'content.window.print();');
   menuitem.setAttribute("label", "Print");
   var saveImage = document.getElementById("context-saveimage");
   saveImage.parentNode.insertBefore(menuitem, saveImage);
   addDestructor(()=> menuitem.remove() );
})();

Отсутствует

 

№1123902-02-2017 20:12:27

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

bunda1 Спасибо за работу! Примите искреннюю благодарность.
Всё работает отлично.Только добавил иконку.

Выделить код

Код:

menu.setAttribute("image", "resource://chrome/print.png");

Вопрос для самообразования:Сколько можно "подсовывать" в одну кнопку дополнений для контекстного меню и т.д.  без влияния на производительность Firefox.
Как правильно разместить мои изменения, которые лежат по готовым кнопкам в одной кнопке или файле.

Отредактировано Duche (02-02-2017 20:15:12)

Отсутствует

 

№1124003-02-2017 10:44:11

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

Re: Custom Buttons

Duche пишет

Сколько можно "подсовывать" в одну кнопку дополнений для контекстного меню и т.д.  без влияния на производительность Firefox. Как правильно разместить мои изменения, которые лежат по готовым кнопкам в одной кнопке или файле.

Не дополнений, а кодов для контекстного меню, можно "подсовывать" в одну кнопку десятками без влияния на производительность. Что бы такие коды "подсовывать" в одну кнопку их надо оборачивать в анонимную функцию (()=> { тут какой то код })(); вот как тут Вчера 19:09:20. У меня например в одной кнопке где то 40 таких кодов.

Отсутствует

 

№1124103-02-2017 13:30:58

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

bunda1 пишет

можно "подсовывать" в одну кнопку десятками

Спасибо за полезную информацию , проверил и "обернул" коды где не хватало функции (()=> { тут какой то код })(); .

Ещё одна просьба-хотелочка. Переделать код готовой кнопки "Удалить куки текущего сайта" для отображения "Удалить куки текущего сайта" в контекстное меню, в  приведённом  ниже виде. Хочется что бы отображалась фавиконка сайта с которого будут удалены куки , а команда "Удалить" появлялась по типу "выпадающего списка". Выпадающий список , это для того чтобы рука не дрогнула при простом открытии контекстного меню (страховка от "дурака"). Потом всё положу в готовую кнопку.
Заранее спасибо.
https://forum.mozilla-russia.org/viewto … 32#p729832

скрытый текст
12806163.jpg

Отсутствует

 

№1124204-02-2017 00:16:34

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

Re: Custom Buttons

Как задать паузу между командами, скажем в 2000 ms?
Как задать задержку исполнения команды, пока не исполнится предыдущая команда?

Отсутствует

 

№1124304-02-2017 15:07:33

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

Re: Custom Buttons

ifln пишет

Как задать паузу между командами, скажем в 2000 ms?

Выделить код

Код:

setTimeout(()=>alert("задержка 5 секунд"), 5000);

Отсутствует

 

№1124404-02-2017 18:34:19

vurdalak
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 174
UA: Firefox 51.0

Re: Custom Buttons

У меня одного только CB 0.0.5.8.9 не пашут на новом firefox?

Отсутствует

 

№1124504-02-2017 18:53:25

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

Re: Custom Buttons

vurdalak пишет

У меня одного только CB 0.0.5.8.9 не пашут на новом firefox?

Нет, но Вы вероятно единственный кто тему не читает.

Отсутствует

 

№1124604-02-2017 19:23:21

vurdalak
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 174
UA: Firefox 51.0

Re: Custom Buttons

Coroner
так киньте ссылку где написано, в чем проблема?

Отсутствует

 

№1124704-02-2017 19:37:11

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

Re: Custom Buttons

vurdalak пишет

Coroner
так киньте ссылку где написано, в чем проблема?

24-01-2017 15:55:57

Отсутствует

 

№1124804-02-2017 19:42:34

vurdalak
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 174
UA: Firefox 51.0

Re: Custom Buttons

bunda1
Спасибо.

скрытый текст
А почему юзаете 24.0 , можно поинтересоваться?

Отсутствует

 

№1124904-02-2017 19:45:50

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

Re: Custom Buttons

vurdalak

скрытый текст
Просто лень переходить на новую версию

Отсутствует

 

№1125004-02-2017 21:20:04

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

Re: Custom Buttons

Duche пишет

Ещё одна просьба-хотелочка. Переделать код готовой кнопки "Удалить куки текущего сайта" для отображения "Удалить куки текущего сайта" в контекстное меню, в  приведённом  ниже виде. Хочется что бы отображалась фавиконка сайта с которого будут удалены куки , а команда "Удалить" появлялась по типу "выпадающего списка". Выпадающий список , это для того чтобы рука не дрогнула при простом открытии контекстного меню (страховка от "дурака"). Потом всё положу в готовую кнопку.

Выделить код

Код:

// Удалить куки текущего сайта в контекстном меню на странице, от 04.02.2017. ................
(contextMenu=> {
   var menu = contextMenu.appendChild(document.createElement("menu"));
   menu.id = "content-removeCookies."
   menu.setAttribute("label", "Удалить куки текущего сайта");
   menu.setAttribute("class", "menu-iconic");
   addEventListener("popupshowing", ()=> menu.setAttribute("image", gBrowser.mCurrentTab.image), false, contextMenu);
   addDestructor(()=> menu.remove() );
   
   var menuPopup = menu.appendChild(document.createElement("menupopup"));
   var menuitem = menuPopup.appendChild(document.createElement("menuitem"));               
   menuitem.setAttribute("label", "Удалить");
   menuitem.onclick =()=> {
      var host = Services.eTLD.getBaseDomain(gBrowser.currentURI);

      for ( var en = Services.cookies.enumerator; en.hasMoreElements(); ) {
            var cookie = en.getNext().QueryInterface(Ci.nsICookie);
            ~cookie.host.indexOf(host.trim()) && Services.cookies.remove(cookie.host, cookie.name, cookie.path, false); 
            }
   
      var reversedDomain = host.split("").reverse().join("") + ".";
      Cu.import("resource://gre/modules/FileUtils.jsm");
      var file = FileUtils.getFile("ProfD", ["webappsstore.sqlite"]);
      var dbConn = Services.storage.openDatabase(file);
      dbConn.executeSimpleSQL("DELETE FROM webappsstore2 WHERE scope LIKE \"%" + reversedDomain +"%\"");
      dbConn.close();
   };
})(document.getElementById("contentAreaContextMenu"));

Отсутствует

 

Board footer

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