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

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

№645115-06-2013 15:42:18

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 21.0

Re: Custom Buttons

tuman18
У меня есть кнопка переключающая InstantFox:

Выделить код

Код:

var Jetpacks = "InstantFox";
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonsByTypes(["extension"], function(addons) {
for(var i = 0, l = addons.length; i < l; i++)
if(addons[i].name == Jetpacks)
{
addons[i].userDisabled = !addons[i].userDisabled;
addons[i].userDisabled = false;
        }
         })

Для переключения ABP, нужно изменить в начале var Jetpacks = "InstantFox";
Ну и весь код соответственно в инициализацию.

Отсутствует

 

№645215-06-2013 19:56:12

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 21.0

Re: Custom Buttons

В связи с этим №9528, прошу добавить функционал в User-Agent Change. Как я себе это представляю: все также имеется список UA, но каждый из них имеет подменю со списком доменов на которых он работает, а также пунктом "Добавить домен", а если нажать на сам пункт UA, то как и раньше он устанавливается глобально. Возможно?

Отсутствует

 

№645316-06-2013 16:04:42

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

Re: Custom Buttons

Kamui, отлично, спасибо. А как туда еще добавить задержку перед срабатыванием?

Отсутствует

 

№645416-06-2013 16:27:13

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

Re: Custom Buttons

tuman18
Насчёт этого, может быть попробуй закинуть в начало Инициализации какой-нибудь кнопки

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

Выделить код

Код:

(function() {
    const popup = document.getElementById("alltabs-popup");
    const box = document.getAnonymousElementByAttribute(popup, "class", "popup-internal-box");
    addEventListener("popupshowing", function() {
        var [menuitem] = Array.filter(popup.childNodes, function(menuitem) menuitem.hasAttribute("selected"));
        var boxCenter = box.boxObject.screenY + box.boxObject.height / 2;
        var menuitemCenter = menuitem.boxObject.screenY + menuitem.boxObject.height / 2;
        box.scrollByPixels(menuitemCenter - boxCenter);
    }, false, popup);
})();

Отсутствует

 

№645516-06-2013 16:41:21

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 21.0

Re: Custom Buttons

tuman18 пишет

отлично, спасибо. А как туда еще добавить задержку перед срабатыванием?

Насчет задержки не знаю, код не мой, я не силен в этом :)

Отсутствует

 

№645616-06-2013 17:28:01

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

Re: Custom Buttons

tuman18 пишет

А как туда еще добавить задержку перед срабатыванием?

Что за задержка?

Отсутствует

 

№645716-06-2013 17:44:47

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

Re: Custom Buttons

Dumby - шикарно! Огромное спасибо.
bunda1 - задержка по времени (перед addons[i].userDisabled = false;), setTimeout или типа того.

Отредактировано tuman18 (16-06-2013 17:45:57)

Отсутствует

 

№645816-06-2013 17:56:20

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

Re: Custom Buttons

tuman18 пишет

bunda1 - задержка по времени (перед addons[i].userDisabled = false;), setTimeout или типа того.

Выделить код

Код:

var Jetpacks = "InstantFox";
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonsByTypes(["extension"], function(addons) {
for(var i = 0, l = addons.length; i < l; i++)
if(addons[i].name == Jetpacks)
{
addons[i].userDisabled = !addons[i].userDisabled;
setTimeout(function() { addons[i].userDisabled = false; }, 20)
        }
         })

Отсутствует

 

№645916-06-2013 18:39:05

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 21.0

Re: Custom Buttons

bunda1
А что насчет №7221, можно сделать?

Отсутствует

 

№646016-06-2013 18:52:11

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

Re: Custom Buttons

Kamui пишет

bunda1
А что насчет №7221, можно сделать?

Наверно можно но сложно. Я не понимаю что требуется, ты хочешь что бы кнопка сама включала нужный UA для домена. И какие UA нужны. Мда, и редактирования списка доменов сделать трудно.

Отредактировано bunda1 (16-06-2013 18:53:40)

Отсутствует

 

№646116-06-2013 21:00:48

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 21.0

Re: Custom Buttons

bunda1 пишет

ты хочешь что бы кнопка сама включала нужный UA для домена

По сути нужно только один раз в about:config создать ключ со значением UA. Можно сделать просто, при нажатии СКМ на пункт UA он ставится для текущего домена, при втором убирается, а левый клик выбирает как и раньше, глобально.

Отредактировано Kamui (16-06-2013 21:01:07)

Отсутствует

 

№646217-06-2013 11:10:43

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

okkamas_knife
Target control(Firefox)(Seamonkey)
На [nightly] не работает, можешь поправить?

Отсутствует

 

№646317-06-2013 13:39:25

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

Re: Custom Buttons

voqabuhe пишет

поправить

Попробуй

скрытый текст
заменить

Выделить код

Код:

var appcontent = document.getElementById("appcontent");
appcontent.removeEventListener("DOMContentLoaded", changetarget, true);
appcontent.addEventListener("DOMContentLoaded", changetarget, true);

function changetarget(event){
var ntiset=custombuttons.getPrefs(pref);
if (ntiset==1){
var links=doc.getElementsByTagName('a');
for (var i = 0; i < links.length ; i++){
links[i].target='';
}
}else{
if (ntiset==2){
var links=doc.getElementsByTagName('a');
for (var i = 0; i < links.length ; i++){
links[i].target='_blank';
}
}
}
}

на

Выделить код

Код:

addEventListener("DOMContentLoaded", function(e) {
    var links = e.target.links, ntiset = custombuttons.getPrefs(pref);
    if (ntiset && links && links.length) Array.forEach(links, function(link) link.target = ntiset - 1 ? "_blank" : "");
}, true, document.getElementById("appcontent"));


Рестарт

Отредактировано Dumby (17-06-2013 13:51:07)

Отсутствует

 

№646417-06-2013 14:52:12

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

Dumby пишет

Попробуй

Да спасибо, всё заработало, отлично. И было бы совсем здорово, если бы сделать чтобы новые вкладки открывались в фоне. Если не трудно глянь, плиз.

Отредактировано voqabuhe (17-06-2013 15:37:02)

Отсутствует

 

№646517-06-2013 17:58:39

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

okkamas_knife пишет

если так то browser.tabs.loadInBackground в тру

Она у меня в true, но кнопка всё равно открывает вкладку активной.

Отсутствует

 

№646617-06-2013 18:12:47

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

Re: Custom Buttons

voqabuhe пишет

сделать чтобы новые вкладки открывались в фоне

Ой, не знаю как, но может прокатит такая добавка в Инициализацию этой кнопки

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

Выделить код

Код:

addEventListener("click", function(e) {
    var node = e.target;
    if (e.button || cbu.getPrefs(pref) != 2 || !(node.ownerDocument instanceof HTMLDocument)) return;
    while (node) {
        if (node instanceof HTMLAnchorElement) {
            setTimeout(function(tab) gBrowser.selectedTab = tab, 20, gBrowser.selectedTab);
            break;
        }
        node = node.parentNode;
    }
}, false, document.getElementById("appcontent"));

Отсутствует

 

№646717-06-2013 19:45:01

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

Dumby пишет

Ой, не знаю как, но может прокатит такая добавка в Инициализацию этой кнопки

Всё отлично, всё работает. Наконец-то можно обходиться  без СКМ. Спасибо вам с okkamas_knife огромное.

Отредактировано voqabuhe (17-06-2013 19:45:26)

Отсутствует

 

№646817-06-2013 21:48:54

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

Re: Custom Buttons

voqabuhe пишет

bunda1

Двойным левым кликом на папке закладок добавлять закладку в папку закладок

А можешь сделать аналогичную, но чтобы добавляла закладки по СКМ или двойному ПКМ (или ещё как-нибудь) в начало списка?

по двойному ПКМ

Выделить код

Код:

// Двойным правым кликом на папке закладок добавлять закладку в папку закладок ...................................
addEventListener("dblclick", function(e) {      
   var target = e.originalTarget;
              
   if ( e.button !== 2 || !target._placesNode || !PlacesUtils.nodeIsFolder( target._placesNode ) ) return;          
        var docTitle = ( content.document.title || gBrowser.mCurrentTab.label).substr(0, 50);
        var folderId = PlacesUtils.getConcreteItemId( target._placesNode );
        Cu.import("resource://gre/modules/PlacesUtils.jsm");
        var currentURI = Services.io.newURI(content.location, null, null);
          
        let callback = {
            runBatched: function() {
               PlacesUtils.bookmarks.insertBookmark( folderId, currentURI, 0, docTitle );
            }
        }
        PlacesUtils.bookmarks.runInBatchMode(callback, null);
        
        setTimeout(function() { document.getElementById("placesContext").hidePopup() }, 0);    

        // всплывающая подсказка ....
        var folderTitle = PlacesUtils.bookmarks.getItemTitle( folderId );
        var favicon = ( !!gBrowser.mCurrentTab.image )? gBrowser.mCurrentTab.image: "chrome://global/skin/icons/Portrait.png";
        var alertsService = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService);
        alertsService.showAlertNotification( favicon, "Добавил в папку " + folderTitle + ":", docTitle, false, "", null, ""); 
}, false, window );

Отсутствует

 

№646917-06-2013 22:55:49

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

Re: Custom Buttons

bunda1
А с моей просьбой повесить жест на эту кнопку, не выходит.

скрытый текст
Bookmarks Menu

if ( !this.lastChild ) {
  var mc = document.getElementById("bookmarksMenuPopup");
  var mcc = mc.cloneNode( true );
  this.appendChild( mcc );
}

var bo = document.getBoxObjectFor( this );
this.lastChild.showPopup ( this, -1, -1, "popup", "bottomleft", "topleft" );

Отредактировано villa7 (17-06-2013 22:56:22)


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

Отсутствует

 

№647017-06-2013 22:57:30

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

Re: Custom Buttons

villa7 пишет

bunda1
А с моей просьбой повесить жест на эту кнопку, не выходит.

:(

Отсутствует

 

№647117-06-2013 23:18:53

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

bunda1 пишет

по двойному ПКМ

Ух ты, спасибо, просто класс.thank_you2.gif Теперь с комфортом можно отказаться от Add Bookmark Here ² А то я так с ним привык добавлять закладки в начало списка, а оно начало уже потихоньку отваливаться.

Отсутствует

 

№647217-06-2013 23:32:13

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

Re: Custom Buttons

voqabuhe
Можно двойным правым кликом на закладке добавить страницу как закладку сразу за кликнутой закладкой, сделать?

Отсутствует

 

№647317-06-2013 23:56:14

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

bunda1 пишет

Можно двойным правым кликом на закладке добавить страницу как закладку сразу за кликнутой закладкой, сделать?

Да!!! Конечно, я думаю это будет очень удобно. Подожди,  на двойном ПКМ ты уже сделал удаление закладки. Может тогда сделаешь с горячей клавишей?

Отсутствует

 

№647418-06-2013 00:11:15

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

Re: Custom Buttons

voqabuhe пишет

Да!!! Конечно, я думаю это будет очень удобно. Подожди,  на двойном ПКМ ты уже сделал удаление закладки. Может тогда сделаешь с горячей клавишей?

А если месте ПКМ и ЛКМ или наоборот, или нажать ЛКМ на закладку и подержать 300ms. Мне с горячей клавишей не нравится.

Отсутствует

 

№647518-06-2013 00:22:59

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 24.0

Re: Custom Buttons

bunda1 пишет

А если месте ПКМ и ЛКМ или наоборот, или нажать ЛКМ на закладку и подержать 300ms. Мне с горячей клавишей не нравится.

Да и мне с горячей не нравиться, просто я про другие варианты не подумал.:) Тогда попробуй сделать ЛКМ с задержкой, меньше движений, удобней. ИМХО. А там смотри, как считаешь лучше, в принципе все предложенные тобой варианты нормальные.

Добавлено 18-06-2013 00:46:31
Dumby
Всё-таки в №7237 какая-то ошибка присутствует. Если открывать подряд несколько ссылок с одной страницы, то иногда текущая вкладка мигает (на несколько секунд становится чёрной), а иногда ссылка открывается в текущей вкладке. Может сможешь найти ошибку?

Отредактировано voqabuhe (18-06-2013 01:01:46)

Отсутствует

 

Board footer

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