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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№1202609-08-2017 17:58:09

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 58.0

Re: Custom Buttons

Здравствуйте всем!
Не подскажите, какой код вписать в инициализацию, чтобы постоянно видеть свой внешний IP .
Важное условие: IP должен находиться выше строки УРЛ (там, где вкладки или панель инструментов).

Отредактировано dedfor (09-08-2017 18:05:06)

Отсутствует

 

№1202709-08-2017 23:11:54

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

Re: Custom Buttons

Dumby пишет
rbfyec пишет

Ну как насчёт моего вопроса?

А никак.
gURLBar.inputField.removeEventListener("paste", gURLBar, false);
alert(stripUnsafeProtocolOnPaste);

Почему же никак :D Это ведь то, что я и хотел.
Спасибо!

Отсутствует

 

№1202810-08-2017 12:33:27

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

Re: Custom Buttons

Подскажите пожалуйста, что то не могу найти кнопку на панель в которую можно вставлять свой адрес сайта.
Хочу сделать кнопку открытия about:config

Добавлено 10-08-2017 12:37:38
А все, нашел

Отредактировано Stkvsky (10-08-2017 12:37:38)

Отсутствует

 

№1202910-08-2017 12:40:09

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: Firefox 55.0

Re: Custom Buttons

Stkvsky
Создать кнопку ярлык для сайта

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

Выделить код

Код:

/*CODE*/
// Создать кнопку ярлык для сайта, от 11.01.2015.


// Иконка для создания кнопки ярлыка без значка веб-сайта .................
var defaultFavicon = "chrome://custombuttons/skin/stdicons/gbutton.png";


// Получить иконку сайта и запустить создание кнопки ярлыка .................
PlacesUtils.favicons.getFaviconDataForPage(
      gBrowser.currentURI,
      function( uri, len, arr, mmt ) {
         if ( !len ) {
              createButton(defaultFavicon);
              return;
              }        
             
         // создать кнопку ярлык с значком веб-сайта( в base64 )     
         var base64 = "data:" + mmt + ";base64," + btoa(String.fromCharCode.apply(null, arr));
         createButton(base64);
      }   
);



// Дублировать кнопку и установить для новый кнопки иконку, название и код .................
function createButton(favicon) {  
   custombuttons.cloneButton(self);
   
   var newButtonLink = custombuttons.makeButtonLink("update", self.nextSibling.id || _id);
   var params = custombuttons.cbService.getButtonParameters(newButtonLink).wrappedJSObject;
   
   params.image = favicon;
   params.name = (content.document.title).substring(0, 75);
   params.code = "gBrowser.selectedTab = gBrowser.addTab('" + content.location + "');";
   
   params.wrappedJSObject = params;
   custombuttons.cbService.installButton(params);
};

Отсутствует

 

№1203010-08-2017 12:56:35

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

Re: Custom Buttons

Rag
Спасибо.
Теперь не могу найти кнопку перезапуска браузера:) подскажите плиз.

Отсутствует

 

№1203110-08-2017 13:05:24

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

Отсутствует

 

№1203210-08-2017 13:08:48

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

Re: Custom Buttons

vitalii201
О, спасибо большое:)

Отсутствует

 

№1203310-08-2017 13:17:13

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: Firefox 55.0

Re: Custom Buttons

Stkvsky пишет

Теперь не могу найти кнопку перезапуска браузера

/*CODE*/
Application.restart()

Отсутствует

 

№1203410-08-2017 14:05:15

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

Re: Custom Buttons

Rag
Спасибо, а подскажите еще пожалуйста.
Если я не ошибаюсь, была кнопка которая показывает количество открытых вкладок.

Добавлено 10-08-2017 14:06:07
А нашел, темой ниже)
https://forum.mozilla-russia.org/viewtopic.php?id=60057

Отредактировано Stkvsky (10-08-2017 14:06:07)

Отсутствует

 

№1203510-08-2017 17:09:34

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

Re: Custom Buttons

А можете еще пожалуйста помочь, из кнопки скрытия скролл баров
https://forum.mozilla-russia.org/viewto … 82#p446682
взять код только скрытия всех скролл баров
что бы я его вставил в кнопку и скролл бары скрывались всегда по умолчанию
а в этой кнопке постоянно нужно нажимать что бы они скрывались

Отсутствует

 

№1203610-08-2017 17:17:34

Yeesha
Участник
 
Группа: Members
Зарегистрирован: 23-08-2008
Сообщений: 359
UA: Firefox 56.0

Re: Custom Buttons

Dumby
Спасибо, ваша версия Custom Buttons заработала на [firefox] 56b1. Правда, установить XPI не удалось ни с какими костылями, сработала только замена файлов уже установленного расширения.

P.S. Работают только старые кнопки, добавлять и редактировать их нельзя.

Отредактировано Yeesha (10-08-2017 17:34:53)

Отсутствует

 

№1203710-08-2017 17:53:16

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

Re: Custom Buttons

Stkvsky
А у вас после перезапуска с кнопки открытые вкладки, до перезапуска не пропадают?

Отсутствует

 

№1203810-08-2017 18:14:33

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

Re: Custom Buttons

tom911
я не понял вашего вопроса, я хочу убрать все скролл бары на всех страницах.

Отсутствует

 

№1203911-08-2017 18:16:07

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

Re: Custom Buttons

Stkvsky пишет

я хочу убрать все скролл бары на всех страницах

Добрый день. Попробуйте , только это стиль для "Stylish" .

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

Выделить код

Код:

/* Scrollbar hidden / hide scrollbars totally */
/* AGENT_SHEET */
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

scrollbar {visibility:collapse !important; }

Отредактировано Duche (11-08-2017 18:20:30)

Отсутствует

 

№1204011-08-2017 18:56:16

oleg953
Участник
 
Группа: Members
Откуда: Ростов где Дон
Зарегистрирован: 07-05-2014
Сообщений: 557
UA: Firefox 50.0

Re: Custom Buttons

прошу помощи!!!! в 52 еср(е) отвалилась Custom Buttons... искать по теме времени нет нужно готовое решение.

Отсутствует

 

№1204111-08-2017 19:01:17

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: Firefox 55.0

Re: Custom Buttons

oleg953
Это не пробовал? Custom Buttons

Отсутствует

 

№1204211-08-2017 19:16:25

oleg953
Участник
 
Группа: Members
Откуда: Ростов где Дон
Зарегистрирован: 07-05-2014
Сообщений: 557
UA: Firefox 50.0

Re: Custom Buttons

Rag пишет

Это не пробовал?

да :beer:

Отсутствует

 

№1204311-08-2017 23:55:29

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

Re: Custom Buttons

Yeesha пишет

Dumby
Спасибо, ваша версия Custom Buttons заработала на [firefox] 56b1. Правда, установить XPI не удалось ни с какими костылями, сработала только замена файлов уже установленного расширения.

P.S. Работают только старые кнопки, добавлять и редактировать их нельзя.

Ну, то есть, это звучит так, как если бы всё осталось так,
как оно и было, мол ничего не случилось вовсе.
По идее, именно так и должно быть для классического CB 0.0.5.8.9.3

Вот пришёл, и ещё раз проверил сермяжный для 56.0b2
Всё работает, всё устанавливается. :/

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

И на 57.0a1 (2017-08-11) вариант тоже всё ещё работает.
А вот с конфигурационным файлом уже успели нарисовать проблем.
С окна браузера объект Preferences убрали ещё с первого ночного билда.
И теперь вот добрались и до XPIInstall.jsm

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

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

Выделить код

Код:

//
["Provider", "Install"].forEach(name => {try {
    Components.utils.import(`resource://gre/modules/addons/XPI${name}.jsm`, {})
        .eval("SIGNED_TYPES.clear(); this;").eval(String.raw`"verifyZipSignedState" in this && (uuidg => {
            var signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED;
            var re = /\x06\x03U\x04\x03\x14[\s\S](\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\}|[a-z0-9-\._]*\@[a-z0-9-\._]+)0\x82\x02"0\r\x06\t/i;
            var bsp = Cu.getGlobalForObject(XPIProvider), til = bsp.eval("TemporaryInstallLocation");
            var getId = file => {
                var result, is = {close() {}}, sis = {close() {}};
                var uri = bsp.getURIForResourceInFile(file, "META-INF/mozilla.rsa");
                try {
                    is = Services.io.newChannelFromURIWithLoadInfo(uri, null).open();
                    sis = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream);
                    sis.init(is); var str = sis.readBytes(sis.available());
                    var match = str.match(re); if (match) result = match[1];
                } catch(ex) {}
                sis.close(); is.close();
                return result || uuidg.generateUUID().toString();
            }
            verifyZipSignedState = function verifyZipSignedState(aFile, aAddon) {
                if (aAddon.id || aAddon._installLocation == til)
                    return Promise.resolve({signedState, cert: null});
                var root = !AppConstants.MOZ_REQUIRE_SIGNING && Services.prefs.getBoolPref(PREF_XPI_SIGNATURES_DEV_ROOT, false)
                    ? Ci.nsIX509CertDB.AddonsStageRoot : Ci.nsIX509CertDB.AddonsPublicRoot;
                return new Promise(resolve => {
                    var callback = {openSignedAppFileFinished(rv, zipReader, cert) {
                        zipReader && zipReader.close();
                        resolve({signedState, cert: cert || {commonName: getId(aFile)}});
                    }};
                    gCertDB.openSignedAppFileAsync(root, aFile, callback.wrappedJSObject = callback);
                });
            }
        })(Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator));`);
} catch(ex) {}});

Отсутствует

 

№1204412-08-2017 08:58:55

Small_Z
Участник
 
Группа: Members
Зарегистрирован: 18-02-2011
Сообщений: 11
UA: Chrome 50.0

Re: Custom Buttons

Нарисовался баг.
При использовании Vertical Toolbar отсюда и при задействовании какой-либо темы оформления отваливаются события мыши над vertical тулбаром. Причем отваливаются, даже если он скрыт через колапсед - над той областью, где он создавался. Это ломает его режим автораскрытия (если включена в браузере тема). А также ломает всякие другие расширения, которые используют маус-события над расположением VT.
Интересно, что над кнопками, которые на VT поставлены, события продолжают работать. Может какого атрибута у VT не хватает, что бы мышь над ним не ломалась при использовании тем оформления?
Кстати, заметил еще, если VT скрывать еще и через display:none , то события над его областью не ломаются (когда скрыт).
(проверено на firefox 52 esr, 54.0.1, + custom buttons отсюда)

Можно ли как то починить мышь над тулбаром при использовании тем оформления?

Отсутствует

 

№1204513-08-2017 08:29:35

Small_Z
Участник
 
Группа: Members
Зарегистрирован: 18-02-2011
Сообщений: 11
UA: Chrome 50.0

Re: Custom Buttons

О, обнаружилось - ежели toolbar накрыть полностью toolbaritem-ом, то мышА там перестаёт ломаться.

Отсутствует

 

№1204614-08-2017 22:01:28

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

Re: Custom Buttons

Duche
Да, отлично, спасибо:)

Отсутствует

 

№1204715-08-2017 12:16:11

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: Firefox 55.0

Re: Custom Buttons

Приветствую всех.
Подскажите. Как вставить иконку в код кнопки? Пробовал menuItem.setAttribute("image","data:image/...")
Так не прокатило.

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

Выделить код

Код:

// Добавить новый пункт "Восстановить иконки" в меню "Закладки", от 04.10.2016. ..............
(()=> {
   // Создать новый пункт в меню "Закладки" ....
   var menuitem = document.createElement("menuitem");
   var sep = document.getElementById("organizeBookmarksSeparator");
   sep.parentNode.insertBefore(menuitem, sep);
   menuitem.setAttribute("label", "Восстановить иконки");
   menuitem.onclick =e=> chooseBookmarks();
   addDestructor(()=> menuitem.remove());


   // Перебрать все http(s) закладки ....
   function chooseBookmarks(id = 1) {
      var folder = PlacesUtils.getFolderContents(id).root;
   
      folder.QueryInterface(Ci.nsINavHistoryContainerResultNode);
      folder.containerOpen = true;

      for ( var i = 0; i < folder.childCount; i++ ) {
            var child = folder.getChild(i);
   
            PlacesUtils.nodeIsFolder(child)
            ? chooseBookmarks(child.itemId)
            : child.uri.startsWith("http") && child.icon == '' && getSiteFavicon(child.uri);
            }
                       
      folder.containerOpen = false;
   };


   // Добавить иконки к закладкам с одинаковыми адресами ....  
   function setBookFavicon(siteURI, faviconURI) {
      var iconURI = Services.io.newURI( faviconURI, null, null);
      var bookmarkURI = Services.io.newURI( siteURI, null, null );
           
      PlacesUtils.favicons.setAndFetchFaviconForPage(
         bookmarkURI,
         iconURI,
         false,
         this.FAVICON_LOAD_NON_PRIVATE,
         null,
         Services.scriptSecurityManager.getSystemPrincipal()
      )
   };
   

   // Получить адрес иконки закладки и запустить установку иконки .... 
   function getSiteFavicon(siteURI) {
      var hostURI = "http://" + siteURI.split(/\/+/g)[1] + "/";
      var faviconURI = hostURI + "favicon.ico";  // адрес иконки, если не получить адрес иконки из сайта
      
      // получить адрес иконки из документа сайта закладки
      var xhr = new XMLHttpRequest();
      xhr.open("GET", siteURI, true);
      xhr.responseType = "document";      
      xhr.onload = xhr.onerror =()=> {
         var doc = xhr.responseXML;
         if ( doc !== null ) {
              var links = doc.getElementsByTagName("link");
              [...links].forEach(link=> {
                 if ( /(?:^|\s)icon(?:\s|$)/.test(link.rel.toLowerCase()) ) faviconURI = link.href });
              }
                         
         setBookFavicon(siteURI, faviconURI);  // запустить установку иконки   
      }
      xhr.send();
   };   
     
})();


Посмотрите пожалуйста мою просьбу
№12008

Отсутствует

 

№1204815-08-2017 12:35:35

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

Re: Custom Buttons

Rag пишет

Пробовал menuItem.setAttribute("image","data:image/...")

ещё нужно присвоить класс
menuitem.className = "menuitem-iconic";

UPD: и не menuItem а menuitem

Отредактировано Vitaliy V. (15-08-2017 12:51:23)

Отсутствует

 

№1204915-08-2017 13:01:16

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: Firefox 55.0

Re: Custom Buttons

Ох ёшкин кот. Лажанулся :dumb: Спасибо.

Отсутствует

 

№1205015-08-2017 17:04:58

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 54.0

Re: Custom Buttons

Всем привет. Честно говоря не знаю, в правильную ли ветку форума пишу. Подскажите пожалуйста, как обойти фильтр на сайте. Жму на любую из ссылок - идет перенаправление такого рода, приходится дополнительные действия совершать. Упомянутая "регистрация" на ресурсе не помогла. Если это возможно осуществить скриптами, дополнениями, или чем иным - воспользуюсь любым способом. Заранее спасибо за помощь.

Отредактировано LittleMontana (15-08-2017 17:05:58)

Отсутствует

 

Board footer

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