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

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

№557610-01-2013 19:35:55

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

Re: Custom Buttons

villa7 пишет

Использовал Search and open +4 исключительно как замену панели поиска, типа расширения Omnibar. Мне нужна кнопка с поисковиками ищущая набранный в ручную текст из адресной строки, и больше ничего.

Искать текст из адресной строки

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0418%u0441%u043A%u0430%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0430%u0434%u0440%u0435%u0441%u043D%u043E%u0439%20%u0441%u0442%u0440%u043E%u043A%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAB50lEQVQ4T43SvWsacRgH8OcPCITSLRQ6BSRL1gxZTNZQsgYC3QKunVoMnTKFhBQSnDqIUa5gxNbBCgriC4pv50sJ1lIR5SROpRVbz+O4b5/flbvedekJH+557nvfH8chdbvdIFMYPAgBICdqt9uKpmnw8huNRuDnX8J5QKvVgmEYnqiqClmWwZ113kmger0OXdf/Wv6EIb0BTo+AgB94ceDKJ5MJuHPOMwlUqVSwWq1sevQaxqvn0O5l6HdvgaMdV75cLtFoNMC9Xd6JisWiedNiPNuB9l4yZ+1jEvBvuXJBURRwL8YzUT6fx2KxsGHrKdQPCXNW794Bvieu3CLegrsnlM1mMZ/PbfqeH6vToDkvb2+Bx49cuWU2m4G7bUqn0xiPx7ZpqYRf29v4cXyMxf4+tLU1V24ZDAbgbptSqRSGw6HL9OwM37n4bXPTvP6bC7lcDtw9oWQyiX6/b/vMH1XZ2MAoEMDXqytM+QBnLtRqNXAvxjNRPB5Hr9ez9Q8PMfD50OM/2P3FBb7wAc680+mIMri3yzuRJEloNpsmORTCJy7INzd/9stLc7dyIZPJgDvnPJNA0WgU1WrVkxJ/4FgsBu6s804CRSKRh0KhgHK5/F+JRAL8fJBnslA4HH7NHhg8CDnLwm8IYz560xw92AAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%7C%7C%20e.originalTarget.nodeName%20%21%3D%3D%20%22xul%3Atoolbarbutton%22%29%20return%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20value%20%3D%20gURLBar.value%3B%0A%20%20%20%20%20%20%20%20%20if%20%28%20%21value%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20ss%20%3D%20Cc%5B%22@mozilla.org/browser/search-service%3B1%22%5D.getService%28Ci.nsIBrowserSearchService%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20submission%20%3D%20ss.currentEngine.getSubmission%28%20value%2C%20null%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20gBrowser.loadOneTab%28%20submission.uri.spec%2C%20null%2C%20null%2C%20submission.postData%2C%20false%2C%20false%20%29%3B%20%20%20%20%0A%7D%3B%0A%0A%0A%0A//%20%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0435%20%u043C%u0435%u043D%u044E%20%u0441%20%u043F%u043E%u0438%u0441%u043A%u043E%u0432%u0438%u043A%u0430%u043C%u0438%20................................................%0Afunction%20searchService%28%29%20%7B%0A%20%20%20%20%20return%20Components.classes%5B%22@mozilla.org/browser/search-service%3B1%22%5D.getService%28Components.interfaces.nsIBrowserSearchService%29%3B%0A%7D%0A%0Athis.selectEngine%20%3D%20function%28aNode%2C%20aEvent%29%20%7B%0A%20%20%20%20%20var%20engine%20%3D%20aEvent.target.engine%3B%0A%20%20%20%20%20var%20ss%20%3D%20searchService%28%29%3B%0A%20%20%20%20%20ss.currentEngine%20%3D%20ss.getEngineByName%28engine.name%29%3B%0A%20%20%20%20%20aNode.engine%20%3D%20engine%3B%0A%20%20%20%20%20aNode.image%20%3D%20aEvent.target.getAttribute%28%22src%22%29%3B%0A%7D%0A%0Athis.populateMenu%20%3D%20function%28aNode%29%20%7B%0A%20%20%20%20%20var%20ss%20%3D%20searchService%28%29%3B%0A%20%20%20%20%20var%20engines%20%3D%20ss.getVisibleEngines%28%7B%20%7D%29%3B%0A%20%20%20%20%20const%20kXULNS%20%3D%20%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%3B%0A%0A%20%20%20%20%20while%28%20aNode.firstChild%20%26%26%20aNode.firstChild.localName%20%21%3D%20%22menuseparator%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20aNode.removeChild%28%20aNode.firstChild%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20for%20%28%20var%20i%20%3D%20engines.length%20-%201%3B%20i%20%3E%3D%200%3B%20i--%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20var%20mi%20%3D%20document.createElementNS%28kXULNS%2C%20%22menuitem%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20mi.id%20%3D%20%22cb-search-%22%20+%20engines%5Bi%5D.name%3B%0A%20%20%20%20%20%20%20%20%20%20%20mi.className%20%3D%20%22menuitem-iconic%20searchbar-engine-menuitem%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20mi.setAttribute%28%22label%22%2C%20engines%5Bi%5D.name%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20engines%5Bi%5D.iconURI%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mi.setAttribute%28%22src%22%2C%20engines%5Bi%5D.iconURI.spec%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mi.engine%20%3D%20engines%5Bi%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20if%20%28%20mi.engine%20%3D%3D%20ss.currentEngine%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mi.style.fontWeight%20%3D%20%22bold%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mi.setAttribute%28%22onclick%22%2C%20%20%22event.preventDefault%28%29%3B%20event.stopPropagation%28%29%3B%20parentNode.parentNode.selectEngine%28parentNode.parentNode%2C%20event%29%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20aNode.insertBefore%28mi%2C%20aNode.firstChild%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%7D%0A%0Athis.currentEngine%20%3D%20searchService%28%29.currentEngine%3B%0Avar%20ss%20%3D%20searchService%28%29%3B%0Athis.engine%20%3D%20ss.currentEngine%3B%0Athis.image%20%3D%20this.engine.iconURI.spec%3B%0A%0Avar%20mp%20%3D%20this.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0Amp.setAttribute%28%22onpopupshowing%22%2C%20%22parentNode.populateMenu%28this%29%22%29%3B%0Amp.setAttribute%28%22oncommand%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0Avar%20managerSeparator%20%3D%20mp.appendChild%28document.createElement%28%22menuseparator%22%29%29%3B%0AmanagerSeparator.id%20%3D%20%22cb-searchbutton-separator%22%0Avar%20managerItem%20%3D%20mp.appendChild%28document.createElement%28%22menuitem%22%29%29%3B%0AmanagerItem.setAttribute%28%22label%22%2C%20%22Manage%20Search%20Engines...%22%29%3B%0AmanagerItem.setAttribute%28%22oncommand%22%2C%20%22openDialog%28%27chrome%3A//browser/content/search/engineManager.xul%27%2C%20%22%20+%20%22%27engineManager%27%2C%20%27chrome%2C%20dialog%3Dno%27%29%22%29%3B%0Athis.type%20%3D%20%22menu-button%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5Bnull%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E


Добавлено 10-01-2013 19:37:40
На FF18 + custombuttons-0.0.5.6pre3-20111120 + чистый профиль кнопка Сохранить в редакторе кода - неактивна и не работает. Караул! :(
Вся надежда на Infocatcherа. :blush:

Добавлено 10-01-2013 19:46:14

Andrey_Krropotkin пишет

bunda1 попробуй переделать вот этот скрипт:

Не работает :(

Отредактировано bunda1 (10-01-2013 19:46:14)

Отсутствует

 

№557710-01-2013 20:07:49

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

Re: Custom Buttons

bunda1 пишет

Искать текст из адресной строки

А можно сделать замену  InstantFox, чтобы это было организовано как в кнопках Drag and Go Modoki или Mouse Gestures?
Чтобы например поисковики добавлять так:
{key:'g', name:'google', adr:'https://www.google.com/search?hl=ru&q=%s'},
{key:'y', name:'yandex', adr:'http://yandex.ru/yandsearch?text=%s&lr=1095'},
и т.д. Хотя наверно поисковые предложения будет трудно реализовать?

Отредактировано Kamui (10-01-2013 20:08:16)

Отсутствует

 

№557810-01-2013 20:29:29

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

Re: Custom Buttons

bunda1 пишет

На FF18 + custombuttons-0.0.5.6pre3-20111120 + чистый профиль кнопка Сохранить в редакторе кода - неактивна и не работает.

У меня в [nightly] кнопка активна.

Отсутствует

 

№557910-01-2013 20:48:54

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

Re: Custom Buttons

bunda1 пишет

кнопка Сохранить в редакторе кода - неактивна и не работает.

Подтверждаю :|
FirefoxPortatable, Custom Buttons 0.0.5.6pre3, один и тот же профиль.
17.0.1 - работает, 18.0 - не работает.

Отсутствует

 

№558010-01-2013 21:13:23

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

Re: Custom Buttons

bunda1
Искать текст из адресной строки
То что нужно, а еще перебросил кнопку в адресную строку, все под рукой, набрал-нажал. Спасибо большое.


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

Отсутствует

 

№558110-01-2013 21:38:31

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

Re: Custom Buttons

Kamui пишет
bunda1 пишет

Искать текст из адресной строки

А можно сделать замену  InstantFox, чтобы это было организовано как в кнопках Drag and Go Modoki или Mouse Gestures?
Чтобы например поисковики добавлять так:
{key:'g', .....
и т.д. Хотя наверно поисковые предложения будет трудно реализовать?

Поисковые предложения не смогу, не умею.
А 'g' ..... в адресной строке и так есть, используй краткие имена:
thumbbjx.jpg

Отсутствует

 

№558210-01-2013 22:02:13

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 18.0
Веб-сайт

Re: Custom Buttons

okkamas_knife пишет

1 отвалилась кнопка сохранить в редакторе кода - неактивна

bunda1 пишет

На FF18 + custombuttons-0.0.5.6pre3-20111120 + чистый профиль кнопка Сохранить в редакторе кода - неактивна и не работает. Караул! :(

Да.

Вот тут: https://developer.mozilla.org/en-US/doc … developers пишут, что

addEditorObserver() has been removed, use setEditorObserver() instead…

т. е., удалили метод nsIEditor. addEditorObserver, но, похоже, ничего взамен не добавили. setEditorObserver недоступна, nsIDocumentStateListener. NotifyDocumentStateChanged не вызывается.

voqabuhe пишет

У меня в [nightly] кнопка активна.

В nightly addEditorObserver ещё на месте.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№558310-01-2013 22:12:26

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

Re: Custom Buttons

bunda1

Пока не произошли перемены к лучшему, можно посмеяться над такой темой:
принудительное удаление атрибута «disabled» с кнопки «Сохранить». Попробуй :D

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

Выделить код

Код:

const url = "chrome://custombuttons/content/editor.xul";
var observer = {

    observe: function(subject, topic, data) {
        subject.addEventListener("load", this, false);
    },
      
    handleEvent: function(e) {
        var doc = e.target;
        var win = doc.defaultView;
        win.removeEventListener("load", this, false);
        if (doc.location.href.substring(0, 41) != url) return;

        var saveButton = doc.documentElement._buttons.extra2;
        function butt() { setTimeout(function() { saveButton.removeAttribute("disabled"); }, 200); }
        butt();
        saveButton.onclick = function() { butt(); }
    }
}
Services.obs.addObserver(observer, "domwindowopened", false);

this.onDestroy = function() {
    Services.obs.removeObserver(observer, "domwindowopened", false);
}

Отсутствует

 

№558410-01-2013 22:31:43

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

Re: Custom Buttons

Dumby пишет

bunda1
Пока не произошли перемены к лучшему, можно посмеяться над такой темой:
принудительное удаление атрибута «disabled» с кнопки «Сохранить». Попробуй :

О, работает :) спасибо.

Отредактировано bunda1 (10-01-2013 23:45:05)

Отсутствует

 

№558511-01-2013 12:57:11

fil
Участник
 
Группа: Members
Зарегистрирован: 14-10-2012
Сообщений: 18
UA: Firefox 17.0

Re: Custom Buttons

Здравствуйте !

Требуется отловить изменение страницы после клика на кнопке чужого сайта. Программно кликаю на кнопку. Появляется некий погресс на (1,2,..n секунд). Результатом будет изменение некоей таблицы на странице. Как я могу обработать событие завершение изменений ?

Отсутствует

 

№558611-01-2013 15:51:09

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

Re: Custom Buttons

okkamas_knife пишет

задай кнопке хоткей(пкм по кнопке - редактировать-настройки кнопки) и тогда будет ещё удобнее - не надо после набора мышой тянуться и клацать

Идея хорошая, даже не подозревал о такой возможности, вот только не могу понять алгоритм назначения, назначил к примеру ctrl+left, жму, а в ответ тишина.


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

Отсутствует

 

№558711-01-2013 19:10:29

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

Re: Custom Buttons

villa7 пишет

Идея хорошая, даже не подозревал о такой возможности........

Можно создать какие угодно и сколько угодно сочетания клавиш для запуска нужных кодов в одном коде.
Вот например код который работает на подобие расширению Key config:

keyconfig_Modoki

Выделить код

Код:

// ==UserScript==
// @name           keyconfig_Modoki.uc.js
// @namespace      http://d.hatena.ne.jp/Griever/
(function(){
var keymap = {
'8':'backspace','9':'tab','12':'tenkey5','13':'enter','16':'shift','17':'ctrl','18':'alt',
'19':'pausebreak','20':'shift+capslock','27':'esc','32':'space',
'33':'pageup','34':'pagedown','35':'end','36':'home',
'37':'left','38':'up','39':'right','40':'down','45':'insert','46':'delete',
'48':'0','49':'1','50':'2','51':'3','52':'4','53':'5','54':'6','55':'7','56':'8','57':'9','59':':','61':';',
'65':'a','66':'b','67':'c','68':'d','69':'e','70':'f','71':'g','72':'h','73':'i',
'74':'j','75':'k','76':'l','77':'m','78':'n','79':'o','80':'p','81':'q','82':'r',
'83':'s','84':'t','85':'u','86':'v','87':'w','88':'x','89':'y','90':'z',
'91':'leftwindows','92':'rightwindows',
'96':'0','97':'1','98':'2','99':'3','100':'4','101':'5','102':'6','103':'7','104':'8','105':'9',
'106':'*','107':'+','109':'-','110':'.','111':'/',
'112':'f1','113':'f2','114':'f3','115':'f4','116':'f5','117':'f6',
'118':'f7','119':'f8','120':'f9','121':'f10','122':'f11','123':'f12',
'144':'numlock','145':'scrolllock',
'188':',','190':'.','191':'/','192':'@','219':'[','220':'\\','221':']','222':'^','226':'\\',
'240':'capslock',
};

function $(id){ return document.getElementById(id)}

function keyconfig(e){
    if (/^(input|textarea|select|textbox)$/i.test(e.target.localName)) return;
    var keycode = e.keyCode;
    if (keycode >= 16 && keycode <= 18) return;
    var command = keymap[keycode] + (e.ctrlKey?'+ctrl':'') + (e.shiftKey?'+shift':'') + (e.altKey?'+alt':'');

/* ??????????????+????ctrl·shift·alt???  ?????+ctrl·shift·alt+??????? */
    switch(command){//uc.js??????????
        case '4' : if (gBrowser.sessionHistory.index > 0)
gBrowser.gotoIndex(0); break;//??
        case '5' : var nav = gBrowser.webNavigation;
var hist = nav.sessionHistory;
nav.gotoIndex(hist.count - 1); break;//??
        case '+' : $("cmd_fullZoomEnlarge").doCommand(); break;//?? - ??
        case '-' : $("cmd_fullZoomReduce").doCommand(); break;//?? - ??
       
var ff= document.getElementById("content");
var tab = ff.addTab(myUrl);
ff.selectedTab = tab;break;//??????
        case 'z' : gBrowser.mTabContainer.advanceSelectedTab(-1, true); break;//?????
        case 'x' : gBrowser.mTabContainer.advanceSelectedTab(+1, true); break;//?????
        case 'y': BrowserOpenTab(); break;
            //keyconfig?????????????????????:
        case 'f': gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close(); break;//?????
        case '0': FullZoom.reset(); break;//?? - ??
        case 'r': document.getElementById("Browser:ReloadSkipCache").doCommand(); break;//??
        case 's': const bmToolbar = document.getElementById("PersonalToolbar");
bmToolbar.collapsed = !bmToolbar.collapsed; break;//?????
        case 'g': function tbtoggle (thisBTN)
{thisBTN.checked = !thisBTN.checked;
if ( thisBTN.checked )
{gBrowser.setStripVisibilityTo(false);
gBrowser.mPrefs.setBoolPref("browser.tabs.forceHide", true);}
else
{gBrowser.setStripVisibilityTo(true);
gBrowser.mPrefs.setBoolPref("browser.tabs.forceHide", false);}}
tbtoggle(this); break;//???
       
        case 'm': document.getElementById("Browser:ToggleTabView").doCommand(); break;//???
        case 'b': window.minimize(); break;//???;window.setTimeout('window.restore()',600)
        case 'u': var uri = gBrowser.currentURI;if (uri.path == '/')return;var pathList = uri.path.split('/');if (!pathList.pop())pathList.pop();loadURI(uri.prePath + pathList.join('/') + '/'); break;//????
       
        case 'p': Components.classes["@mozilla.org/file/directory_service;1"].
getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsILocalFile).launch(); break;//????
        case 'i': var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"].getService(Components.interfaces.nsIAppStartup);
appStartup.quit(appStartup.eForceQuit | appStartup.eRestart); break;//????
        case 'a': toOpenWindowByType('Add-ons:manager',
'chrome://mozapps/content/extensions/extensions.xul'); break;//????
       
        case 'l': openPreferences(); break;//????
        case 'q': gPrefService.setBoolPref("browser.sessionstore.resume_session_once", true);
goQuitApplication(); break;//????
        case 'd': var tab = gBrowser.mCurrentTab; gBrowser.removeTab(tab); break;//??????
      
        case 'y': document.getElementById("cmd_newNavigatorTab").doCommand();document.getElementById("searchbar").focus();goDoCommand('cmd_selectAll'); break;//????
        case 'o': toOpenWindowByType('pref:pref', 'About:config'); break;//??????about:config
        case 'n': document.getElementById("View:FullScreen").doCommand(); break;//??
   
        case 'v': undoCloseTab(); break;//???????
        case 'h': toggleSidebar('viewHistorySidebar'); break;//?????
      
        case "e":
            const IE_PATH = "C:\\Programme\\Internet Explorer\\iexplore.exe";

var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath(IE_PATH);
if (!file.exists()) {
  alert("File does not exist: " + IE_PATH);
  return;
}
var process  = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
try {
  var args = [window.content.location.href];
  process.init(file);
  process.run(false, args, args.length);
}
catch (ex) {
  alert("Failed to execute: " + IE_PATH);
} break;
     
        case 'j': goDoCommand('cmd_scrollLineUp');//????
        case 'k': goDoCommand('cmd_scrollLineDown');//????
//
        default: return;
       
    }
    e.preventDefault();
}

gBrowser.mPanelContainer.addEventListener('keydown', keyconfig, false);
})();

Отсутствует

 

№558811-01-2013 19:50:35

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

Re: Custom Buttons

okkamas_knife
Да, теперь срабатывает, конечно так удобнее, набрал-щелкнул, открылось, спасибо.

bunda1
Я то в этом во всем не разбираюсь, просто буду знать что есть такая возможность, вдруг когда понадобится.

Спасибо всем еще раз за помощь.


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

Отсутствует

 

№558911-01-2013 23:03:39

nikitoz13066
Участник
 
Группа: Members
Откуда: Добруш City
Зарегистрирован: 25-11-2012
Сообщений: 17
UA: Firefox 17.0
Веб-сайт

Re: Custom Buttons

Как правильно привязать функцию setInterval к коду какой-нибудь кнопки, чтобы та запускалась 1 раз в 5-10 минут?

Отсутствует

 

№559011-01-2013 23:24:31

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

Re: Custom Buttons

nikitoz13066 пишет

Как правильно привязать функцию setInterval к коду какой-нибудь кнопки, чтобы та запускалась 1 раз в 5-10 минут?

Вместо home-button надо ставить Id той кнопки которую надо нажимать:

Выделить код

Код:

setInterval(function() { document.getElementById("home-button").click() }, 5000000);

Добавлено 11-01-2013 23:36:28
Если надо кликнуть на сustom Buttons кнопку из которой запускается код:

Выделить код

Код:

var _this = this;
setInterval(function() { _this.click() }, 5000000);

Отредактировано bunda1 (12-01-2013 00:04:08)

Отсутствует

 

№559112-01-2013 00:16:26

nikitoz13066
Участник
 
Группа: Members
Откуда: Добруш City
Зарегистрирован: 25-11-2012
Сообщений: 17
UA: Firefox 18.0
Веб-сайт

Re: Custom Buttons

bunda1 пишет
nikitoz13066 пишет

Как правильно привязать функцию setInterval к коду какой-нибудь кнопки, чтобы та запускалась 1 раз в 5-10 минут?

Вместо home-button надо ставить Id той кнопки которую надо нажимать:

Выделить код

Код:

setInterval(function() { document.getElementById("home-button").click() }, 5000000);

Добавлено 11-01-2013 23:36:28
Если надо кликнуть на сustom Buttons кнопку из которой запускается код:

Выделить код

Код:

var _this = this;
setInterval(function() { _this.click() }, 5000000);

Спасибо. Это уже что-то. А можно ли на двойной клик или на клик средней/правой кнопки мыши настроить остановку функции setInterval? (Воспользовался вторым способом)

Отредактировано nikitoz13066 (12-01-2013 00:16:59)

Отсутствует

 

№559212-01-2013 00:35:27

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

Re: Custom Buttons

nikitoz13066 пишет

А можно ли на двойной клик или на клик средней/правой кнопки мыши настроить остановку функции setInterval? (Воспользовался вторым способом)

Не обязательно копировать моё сообщение :)

На клик средней кнопки мыши:

Выделить код

Код:

this.onclick = function(e) {
   if ( e.button !== 1 ) return;
   clearInterval( intervalID );
};


var _this = this;
var intervalID = setInterval(function() { _this.click() }, 5000000);

Отредактировано bunda1 (12-01-2013 00:36:30)

Отсутствует

 

№559312-01-2013 19:22:01

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

Re: Custom Buttons

Как можно разрешить расширению Firegestures выполнять скрипты типа

Выделить код

Код:

javascript:window.open('http://google.com')

Отсутствует

 

№559412-01-2013 21:10:21

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

Re: Custom Buttons

rbfyec

Выделить код

Код:

javascript:(function(){window.open('http://google.com')})()

Отредактировано bunda1 (12-01-2013 21:12:32)

Отсутствует

 

№559512-01-2013 21:26:51

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

Re: Custom Buttons

bunda1 пишет

VT

Спасибо :)
Только у меня на Win7 если toolbar.setAttribute("_width", toolbar.boxObject.width -5);
то VT какой-то «тощий» получается

скрытый текст
h_1358011420_6541272_7970e13916.png

Попробовал вытащить это значение к другим настройкам,
и чтоб сразу после изменения отображалось - вроде работает,
ну и ещё кое-что поменял, prefs особенно...
По прежнему надеюсь, что ничего не сломал :)
VT

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20button%20%3D%20this%3B%0A%0Aconst%20showDelay%20%3D%20250%3B%09%09//%20ms%0Aconst%20distanceShow%20%3D%202%3B%09%09//%20px%0Aconst%20distanceHide%20%3D%2064%3B%09//%20px%0Aconst%20vtWidthCorrection%20%3D%200%3B%09//%20px%20%28%20number%20%5B%20+%20or%20-%20%5D%20%29%0A%0Aconst%20toolbarId%20%3D%20%22vertical_toolbar%22%3B%0Aconst%20toolboxId%20%3D%20toolbarId%20+%20%22_toolbox%22%3B%0Aconst%20sep%20%3D%20%22%5Cu00A0%22%3B%0Aconst%20firstAttributes%20%3D%20%22%5C%0Aid%20%25id%25%20class%20chromeclass-toolbar%20fullscreentoolbar%20true%20context%20toolbar-context-menu%20_width%2020%20%5C%0Acustomizable%20true%20flex%201%20iconize%20large%20mode%20icons%20orient%20vertical%20widthcorr%200%22%0A.replace%28/%20/g%2C%20sep%29.replace%28/%25id%25/%2C%20toolbarId%29%3B%0A%0A//%20....................................................................................................%0A%0Aconst%20pn%20%3D%20%22custombutton.verticaltoolbar.attributes%22%3B%0Avar%20prefs%20%3D%20Application.prefs%3B%0Aif%20%28%21prefs.has%28pn%29%29%20prefs.setValue%28pn%2C%20firstAttributes%29%3B%0Avar%20pref%20%3D%20prefs.get%28pn%29%3B%0Afunction%20getAttr_pref%28%29%20%7B%0A%09return%20pref.value%0A%7D%0Afunction%20setAttr_pref%28%29%20%7B%0A%09pref.value%20%3D%20%22%22%3B%0A%09Array.slice%28document.getElementById%28toolbarId%29.attributes%29.forEach%28function%28attr%29%20%7B%0A%09%09pref.value%20+%3D%20%28attr.name%20+%20sep%20+%20attr.value%20+%20sep%29%3B%0A%09%7D%29%3B%0A%7D%0A//%20....................................................................................................%0A%0Avar%20browser%20%3D%20document.getElementById%28%22browser%22%29%3B%0Avar%20toolbar%20%3D%20document.getElementById%28toolbarId%29%3B%0Avar%20toolbox%20%3D%20document.getElementById%28toolboxId%29%3B%0A%0Aif%20%28%21toolbar%29%20%7B%0A%0A%09toolbox%20%3D%20document.createElement%28%22toolbox%22%29%3B%0A%09toolbox.id%20%3D%20toolboxId%3B%0A%09toolbox.palette%20%3D%20gNavToolbox.palette%3B%0A%09%0A%09toolbar%20%3D%20document.createElement%28%22toolbar%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%09%0A%09browser.insertBefore%28toolbox%2C%20browser.firstChild%29%3B%0A%09toolbox.appendChild%28toolbar%29%3B%0A%0A//%20....................................................................................................%0A//%20Thanks%20-%20http%3A//nanto.asablo.jp/blog/2007/04/22/1459018%0A%0A%09const%20style%20%3D%27%5C%0A%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%3B%5Cn%5C%0A%09%09border-bottom%3A%200px%20none%3B%5Cn%5C%0A%09%09border-top%3A%200px%20none%3B%5Cn%5C%0A%09%09border-right%3A%201px%20solid%20rgb%28170%2C%20188%2C%20207%29%3B%5Cn%5C%0A%09%09background%3A%20none%20repeat%20scroll%200%25%200%25%20rgb%28207%2C%20219%2C%20236%29%3B%5Cn%5C%0A%09%09background-image%3A%20-moz-linear-gradient%28rgba%28255%2C%20255%2C%20255%2C%20.5%29%2C%20rgba%28255%2C%20255%2C%20255%2C%200%29%2027px%29%20%21important%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarseparator%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-separator%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%20%21important%3B%5Cn%5C%0A%09%09margin%3A%200.2em%202px%3B%5Cn%5C%0A%09%09border-bottom%3A%201px%20solid%20ThreeDHighlight%3B%5Cn%5C%0A%09%09border-top%3A%201px%20solid%20ThreeDShadow%3B%5Cn%5C%0A%09%09height%3A%202px%3B%5Cn%5C%0A%09%09border-left%3A%20none%3B%5Cn%5C%0A%09%09border-right%3A%20none%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarspacer%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-spacer%22%5D%20%7B%20height%3A%2015px%3B%20%7D%27%0A%0A%09var%20sspi%20%3D%20document.createProcessingInstruction%28%27xml-stylesheet%27%2C%0A%09%09%20%20%27type%3D%22text/css%22%20href%3D%22data%3Atext/css%2C%27%20+%20encodeURI%28style%29%20+%20%27%22%27%29%3B%0A%09document.insertBefore%28sspi%2C%20document.documentElement%29%3B%0A%0A//%20....................................................................................................%0A%0A%09var%20attr%20%3D%20getAttr_pref%28%29.split%28sep%29%3B%0A%09for%20%28var%20i%3D0%3B%20i%3C%28attr.length-1%29%3B%20i+%3D2%29%20%7B%20toolbar.setAttribute%28attr%5Bi%5D%2C%20attr%5Bi+1%5D%29%3B%20%7D%0A%0A%09var%20currentSet%20%3D%20toolbar.getAttribute%28%22currentset%22%29.split%28%22%2C%22%29%3B%0A%09currentSet.forEach%28function%28id%29%7B%20toolbar.insertItem%28id%29%3B%20%7D%29%3B%0A%7D%0A//%20....................................................................................................%0A%0Avar%20et%20%3D%20gNavToolbox.externalToolbars%3B%0Avar%20already%20%3D%20false%3B%0Afor%20%28var%20i%3D0%3B%20i%3Cet.length%3B%20i++%29%20%7B%20if%20%28et%5Bi%5D%20%3D%3D%20toolbar%29%20%7B%20already%20%3D%20true%3B%20break%20%7D%20%7D%0Aif%20%28%21already%29%20et%5Bet.length%5D%20%3D%20toolbar%3B%0A%0Avar%20delta%20%3D%20toolbar.getAttribute%28%22widthcorr%22%29%20-%20vtWidthCorrection%3B%0Atoolbar.setAttribute%28%22widthcorr%22%2C%20vtWidthCorrection%29%3B%0Aif%20%28delta%29%20toolbar.setAttribute%28%22_width%22%2C%20toolbar.getAttribute%28%22_width%22%29%20-%20delta%29%3B%0A%0Afunction%20lock%28%29%20%7B%0A%0A%09var%20width%20%3D%20toolbar.getAttribute%28%22_width%22%29%3B%0A%09%0A%09toolbox.style.position%20%3D%20%22fixed%22%3B%0A%09toolbox.style.height%20%3D%0A%09toolbar.style.height%20%3D%20browser.boxObject.height%20+%20%22px%22%3B%0A%0A%09toolbar.style.maxWidth%20%3D%0A%09toolbar.style.minWidth%20%3D%0A%09toolbox.style.maxWidth%20%3D%0A%09toolbox.style.minWidth%20%3D%20width%20*%20%21toolbar.collapsed%20+%20%22px%22%3B%09%0A%7D%0Afunction%20beforeCustomize%28%29%20%7B%0A%0A%09toolbox.removeAttribute%28%22style%22%29%3B%0A%09toolbox.removeAttribute%28%22width%22%29%3B%0A%09toolbar.removeAttribute%28%22style%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%7D%0Afunction%20customizationChange%28%29%20%7B%0A%09window.setTimeout%28function%28%29%20%7B%0A%09%09toolbar.setAttribute%28%22_width%22%2C%20toolbar.boxObject.width%20+%20vtWidthCorrection%29%3B%0A%09%7D%2C%20640%29%3B%0A%7D%0Afunction%20afterCustomize%28%29%20%7B%0A%0A%09setAttr_pref%28%29%3B%0A%09removeListeners%28%29%3B%0A%09lock%28%29%3B%0A%7D%0Afunction%20collapser%28e%29%20%7B%0A%0A%09var%20distance%20%3D%20e.screenX%20-%20browser.boxObject.screenX%3B%0A%09if%20%28toolbar.waiting%29%20return%3B%0A%0A%09if%20%28%28distance%20%3C%3D%20distanceShow%29%20%26%26%20%28toolbar.collapsed%29%29%20%7B%0A%0A%09%09if%20%28showDelay%20%3C%201%29%20%7B%20toolbar.collapsed%20%3D%20false%3B%20lock%28%29%3B%20return%3B%20%7D%0A%0A%09%09toolbar.waiting%20%3D%20true%3B%0A%09%09window.setTimeout%28function%28%29%20%7B%0A%0A%09%09%09if%20%28distance%20%3E%3D%20distanceShow%29%20%7B%20toolbar.waiting%20%3D%20false%3B%20return%3B%20%7D%0A%09%09%09toolbar.collapsed%20%3D%20false%3B%0A%09%09%09lock%28%29%3B%0A%09%09%09toolbar.waiting%20%3D%20false%3B%0A%0A%09%09%7D%2C%20showDelay%29%3B%0A%09%7D%0A%09if%20%28%28distance%20%3E%3D%20distanceHide%29%20%26%26%20%28%21toolbar.collapsed%29%29%20%7B%0A%09%09toolbar.collapsed%20%3D%20true%3B%0A%09%09lock%28%29%3B%0A%09%7D%0A%7D%0Afunction%20removeListeners%28%29%20%7B%0A%0A%09gNavToolbox.removeEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%20%0A%0A%09if%20%28e.button%29%20return%3B%0A%0A%09var%20autohide%20%3D%20toolbar.hasAttribute%28%22autohide%22%29%3B%0A%09toolbar.collapsed%20%3D%20autohide%3B%0A%0A%09if%20%28%21autohide%29%20%7B%0A%09%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.setAttribute%28%22autohide%22%2C%20%22true%22%29%3B%0A%09%7D%0A%09else%20%7B%0A%09%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.removeAttribute%28%22autohide%22%29%3B%0A%09%7D%0A%09lock%28%29%3B%0A%7D%0A%0Atoolbar.ondblclick%20%3D%20function%28e%29%20%7B%0A%0A%09if%20%28%20e.button%20%7C%7C%20e.target.nodeName%20%3D%3D%20%22toolbarbutton%22%0A%09%20%20%09%20%20%20%20%20%20%7C%7C%20e.target.nodeName%20%3D%3D%20%22toolbaritem%22%20%29%20return%3B%0A%09button.click%28%29%3B%0A%7D%0A//%20....................................................................................................%0A%0Aif%20%28%21toolbar.hasAttribute%28%22autohide%22%29%29%20%7B%0A%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%7D%0Aelse%20toolbar.setAttribute%28%22autohide%22%2C%20%22true%22%29%3B%0A%0Alock%28%29%3B%0A%0AgNavToolbox.addEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%0A//%20....................................................................................................%0A%0Athis.onDestroy%20%3D%20function%28reason%29%20%7B%0A%0A%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09if%20%28%21toolbar.hasAttribute%28%22customizing%22%29%29%20removeListeners%28%29%3B%0A%09if%20%28reason%20%3D%3D%20%22delete%22%29%20pref.reset%28%29%3B%0A%09if%20%28%21getAttr_pref%28%29%29%20return%3B%0A%09setAttr_pref%28%29%3B%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№559612-01-2013 22:10:05

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

Re: Custom Buttons

Dumby
:) :(

Если выключен режим автоматического свёртывания то VT находится над страницей,раньше он сдвигал страницу. Это глюк или нет ??
thumbidg.jpg

Отредактировано bunda1 (12-01-2013 22:52:08)

Отсутствует

 

№559712-01-2013 22:58:31

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

Re: Custom Buttons

bunda1 пишет

rbfyec

Выделить код

Код:

javascript:(function(){window.open('http://google.com')})()

Спасибо :)
А почему у меня это получается - исполняется код

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

Выделить код

Код:

javascript:(function(){window.open('https://www.google.com/search?q='+encodeURIComponent(document.getSelection()),'', 'width=1010,height=280,top=315, scrollbars=yes')})()


а в результате окно с двойной шапкой
iimmioSCir_1706962_6799658.jpg

Что в коде неправильно?

Отредактировано rbfyec (13-01-2013 00:11:06)

Отсутствует

 

№559812-01-2013 23:14:45

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

Re: Custom Buttons

bunda1 пишет

Это глюк или нет ??

Точно - глюк, рукотворный злой глюк,
так и знал, что накосячу :D Попытка исправить:

VT

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20button%20%3D%20this%3B%0A%0Aconst%20showDelay%20%3D%20250%3B%09%09//%20ms%0Aconst%20distanceShow%20%3D%202%3B%09%09//%20px%0Aconst%20distanceHide%20%3D%2064%3B%09//%20px%0Aconst%20vtWidthCorrection%20%3D%200%3B%09//%20px%20%28%20number%20%5B%20+%20or%20-%20%5D%20%29%0A%0Aconst%20toolbarId%20%3D%20%22vertical_toolbar%22%3B%0Aconst%20toolboxId%20%3D%20toolbarId%20+%20%22_toolbox%22%3B%0Aconst%20sep%20%3D%20%22%5Cu00A0%22%3B%0Aconst%20firstAttributes%20%3D%20%22%5C%0Aid%20%25id%25%20class%20chromeclass-toolbar%20fullscreentoolbar%20true%20context%20toolbar-context-menu%20_width%2020%20%5C%0Acustomizable%20true%20flex%201%20iconize%20large%20mode%20icons%20orient%20vertical%20widthcorr%200%22%0A.replace%28/%20/g%2C%20sep%29.replace%28/%25id%25/%2C%20toolbarId%29%3B%0A%0A//%20....................................................................................................%0A%0Aconst%20pn%20%3D%20%22custombutton.verticaltoolbar.attributes%22%3B%0Avar%20prefs%20%3D%20Application.prefs%3B%0Aif%20%28%21prefs.has%28pn%29%29%20prefs.setValue%28pn%2C%20firstAttributes%29%3B%0Avar%20pref%20%3D%20prefs.get%28pn%29%3B%0Afunction%20getAttr_pref%28%29%20%7B%0A%09return%20pref.value%0A%7D%0Afunction%20setAttr_pref%28%29%20%7B%0A%09pref.value%20%3D%20%22%22%3B%0A%09Array.slice%28document.getElementById%28toolbarId%29.attributes%29.forEach%28function%28attr%29%20%7B%0A%09%09pref.value%20+%3D%20%28attr.name%20+%20sep%20+%20attr.value%20+%20sep%29%3B%0A%09%7D%29%3B%0A%7D%0A//%20....................................................................................................%0A%0Avar%20browser%20%3D%20document.getElementById%28%22browser%22%29%3B%0Avar%20toolbar%20%3D%20document.getElementById%28toolbarId%29%3B%0Avar%20toolbox%20%3D%20document.getElementById%28toolboxId%29%3B%0A%0Aif%20%28%21toolbar%29%20%7B%0A%0A%09toolbox%20%3D%20document.createElement%28%22toolbox%22%29%3B%0A%09toolbox.id%20%3D%20toolboxId%3B%0A%09toolbox.palette%20%3D%20gNavToolbox.palette%3B%0A%09%0A%09toolbar%20%3D%20document.createElement%28%22toolbar%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%09%0A%09browser.insertBefore%28toolbox%2C%20browser.firstChild%29%3B%0A%09toolbox.appendChild%28toolbar%29%3B%0A%0A//%20....................................................................................................%0A//%20Thanks%20-%20http%3A//nanto.asablo.jp/blog/2007/04/22/1459018%0A%0A%09const%20style%20%3D%27%5C%0A%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%3B%5Cn%5C%0A%09%09border-bottom%3A%200px%20none%3B%5Cn%5C%0A%09%09border-top%3A%200px%20none%3B%5Cn%5C%0A%09%09border-right%3A%201px%20solid%20rgb%28170%2C%20188%2C%20207%29%3B%5Cn%5C%0A%09%09background%3A%20none%20repeat%20scroll%200%25%200%25%20rgb%28207%2C%20219%2C%20236%29%3B%5Cn%5C%0A%09%09background-image%3A%20-moz-linear-gradient%28rgba%28255%2C%20255%2C%20255%2C%20.5%29%2C%20rgba%28255%2C%20255%2C%20255%2C%200%29%2027px%29%20%21important%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarseparator%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-separator%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%20%21important%3B%5Cn%5C%0A%09%09margin%3A%200.2em%202px%3B%5Cn%5C%0A%09%09border-bottom%3A%201px%20solid%20ThreeDHighlight%3B%5Cn%5C%0A%09%09border-top%3A%201px%20solid%20ThreeDShadow%3B%5Cn%5C%0A%09%09height%3A%202px%3B%5Cn%5C%0A%09%09border-left%3A%20none%3B%5Cn%5C%0A%09%09border-right%3A%20none%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarspacer%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-spacer%22%5D%20%7B%20height%3A%2015px%3B%20%7D%27%0A%0A%09var%20sspi%20%3D%20document.createProcessingInstruction%28%27xml-stylesheet%27%2C%0A%09%09%20%20%27type%3D%22text/css%22%20href%3D%22data%3Atext/css%2C%27%20+%20encodeURI%28style%29%20+%20%27%22%27%29%3B%0A%09document.insertBefore%28sspi%2C%20document.documentElement%29%3B%0A%0A//%20....................................................................................................%0A%0A%09var%20attr%20%3D%20getAttr_pref%28%29.split%28sep%29%3B%0A%09for%20%28var%20i%3D0%3B%20i%3C%28attr.length-1%29%3B%20i+%3D2%29%20%7B%20toolbar.setAttribute%28attr%5Bi%5D%2C%20attr%5Bi+1%5D%29%3B%20%7D%0A%0A%09var%20currentSet%20%3D%20toolbar.getAttribute%28%22currentset%22%29.split%28%22%2C%22%29%3B%0A%09currentSet.forEach%28function%28id%29%7B%20toolbar.insertItem%28id%29%3B%20%7D%29%3B%0A%7D%0A//%20....................................................................................................%0A%0Avar%20et%20%3D%20gNavToolbox.externalToolbars%3B%0Avar%20already%20%3D%20false%3B%0Afor%20%28var%20i%3D0%3B%20i%3Cet.length%3B%20i++%29%20%7B%20if%20%28et%5Bi%5D%20%3D%3D%20toolbar%29%20%7B%20already%20%3D%20true%3B%20break%20%7D%20%7D%0Aif%20%28%21already%29%20et%5Bet.length%5D%20%3D%20toolbar%3B%0A%0Avar%20delta%20%3D%20toolbar.getAttribute%28%22widthcorr%22%29%20-%20vtWidthCorrection%3B%0Atoolbar.setAttribute%28%22widthcorr%22%2C%20vtWidthCorrection%29%3B%0Aif%20%28delta%29%20toolbar.setAttribute%28%22_width%22%2C%20toolbar.getAttribute%28%22_width%22%29%20-%20delta%29%3B%0A%0Afunction%20lock%28%29%20%7B%0A%0A%09var%20width%20%3D%20toolbar.getAttribute%28%22_width%22%29%3B%0A%09%0A%09toolbox.style.position%20%3D%20toolbar.hasAttribute%28%22autohide%22%29%20%3F%20%22%22%20%3A%20%22fixed%22%3B%0A%09toolbox.style.height%20%3D%0A%09toolbar.style.height%20%3D%20browser.boxObject.height%20+%20%22px%22%3B%0A%0A%09toolbar.style.maxWidth%20%3D%0A%09toolbar.style.minWidth%20%3D%0A%09toolbox.style.maxWidth%20%3D%0A%09toolbox.style.minWidth%20%3D%20width%20*%20%21toolbar.collapsed%20+%20%22px%22%3B%09%0A%7D%0Afunction%20beforeCustomize%28%29%20%7B%0A%0A%09toolbox.removeAttribute%28%22style%22%29%3B%0A%09toolbox.removeAttribute%28%22width%22%29%3B%0A%09toolbar.removeAttribute%28%22style%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%7D%0Afunction%20customizationChange%28%29%20%7B%0A%09window.setTimeout%28function%28%29%20%7B%0A%09%09toolbar.setAttribute%28%22_width%22%2C%20toolbar.boxObject.width%20+%20vtWidthCorrection%29%3B%0A%09%7D%2C%20640%29%3B%0A%7D%0Afunction%20afterCustomize%28%29%20%7B%0A%0A%09setAttr_pref%28%29%3B%0A%09removeListeners%28%29%3B%0A%09lock%28%29%3B%0A%7D%0Afunction%20collapser%28e%29%20%7B%0A%0A%09var%20distance%20%3D%20e.screenX%20-%20browser.boxObject.screenX%3B%0A%09if%20%28toolbar.waiting%29%20return%3B%0A%0A%09if%20%28%28distance%20%3C%3D%20distanceShow%29%20%26%26%20%28toolbar.collapsed%29%29%20%7B%0A%0A%09%09if%20%28showDelay%20%3C%201%29%20%7B%20toolbar.collapsed%20%3D%20false%3B%20lock%28%29%3B%20return%3B%20%7D%0A%0A%09%09toolbar.waiting%20%3D%20true%3B%0A%09%09window.setTimeout%28function%28%29%20%7B%0A%0A%09%09%09if%20%28distance%20%3E%3D%20distanceShow%29%20%7B%20toolbar.waiting%20%3D%20false%3B%20return%3B%20%7D%0A%09%09%09toolbar.collapsed%20%3D%20false%3B%0A%09%09%09lock%28%29%3B%0A%09%09%09toolbar.waiting%20%3D%20false%3B%0A%0A%09%09%7D%2C%20showDelay%29%3B%0A%09%7D%0A%09if%20%28%28distance%20%3E%3D%20distanceHide%29%20%26%26%20%28%21toolbar.collapsed%29%29%20%7B%0A%09%09toolbar.collapsed%20%3D%20true%3B%0A%09%09lock%28%29%3B%0A%09%7D%0A%7D%0Afunction%20removeListeners%28%29%20%7B%0A%0A%09gNavToolbox.removeEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%20%0A%0A%09if%20%28e.button%29%20return%3B%0A%0A%09var%20autohide%20%3D%20toolbar.hasAttribute%28%22autohide%22%29%3B%0A%09toolbar.collapsed%20%3D%20autohide%3B%0A%0A%09if%20%28%21autohide%29%20%7B%0A%09%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.setAttribute%28%22autohide%22%2C%20%22true%22%29%3B%0A%09%7D%0A%09else%20%7B%0A%09%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.removeAttribute%28%22autohide%22%29%3B%0A%09%7D%0A%09lock%28%29%3B%0A%7D%0A%0Atoolbar.ondblclick%20%3D%20function%28e%29%20%7B%0A%0A%09if%20%28%20e.button%20%7C%7C%20e.target.nodeName%20%3D%3D%20%22toolbarbutton%22%0A%09%20%20%09%20%20%20%20%20%20%7C%7C%20e.target.nodeName%20%3D%3D%20%22toolbaritem%22%20%29%20return%3B%0A%09button.click%28%29%3B%0A%7D%0A//%20....................................................................................................%0A%0Aif%20%28%21toolbar.hasAttribute%28%22autohide%22%29%29%20%7B%0A%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%7D%0Aelse%20toolbar.setAttribute%28%22autohide%22%2C%20%22true%22%29%3B%0A%0Alock%28%29%3B%0A%0AgNavToolbox.addEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%0A//%20....................................................................................................%0A%0Athis.onDestroy%20%3D%20function%28reason%29%20%7B%0A%0A%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09if%20%28%21toolbar.hasAttribute%28%22customizing%22%29%29%20removeListeners%28%29%3B%0A%09if%20%28reason%20%3D%3D%20%22delete%22%29%20pref.reset%28%29%3B%0A%09if%20%28%21getAttr_pref%28%29%29%20return%3B%0A%09setAttr_pref%28%29%3B%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№559912-01-2013 23:42:35

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

Re: Custom Buttons

Dumby пишет

Точно - глюк, рукотворный злой глюк,
так и знал, что накосячу

Вроде все работает.
Кстати у меня на XP с

Выделить код

Код:

_width", toolbar.boxObject.width -5

VT в ширину ровно 26px и все стандартные панели тоже
Kонечно лучше когда можно легко менять ширину, ну просто отличная кнопка получилась.



Добавлено 13-01-2013 00:02:51

rbfyec пишет

Что в коде неправильно?

Попробуй:

Выделить код

Код:

javascript:(function(){ window.open('https://www.google.com/search?q='+encodeURIComponent( document.commandDispatcher.focusedWindow.getSelection() ),'', 'width=1010, height=280,top=315, scrollbars=yes')})()

Это может помочь:Метод window.open(): Работа с окнами - Mozilla Firefox

Отредактировано bunda1 (13-01-2013 00:04:08)

Отсутствует

 

№560013-01-2013 00:29:44

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

Re: Custom Buttons

bunda1 пишет

Попробуй:

Выделить код

Код:

javascript:(function(){ window.open('https://www.google.com/search?q='+encodeURIComponent( document.commandDispatcher.focusedWindow.getSelection() ),'', 'width=1010, height=280,top=315, scrollbars=yes')})()

С этим кодом то же самое

bunda1 пишет

И даже здесь у них нажимаю "Создать окно" и вот результат:
4444png_6790553_6800429.jpg

Видимо дело в каких-то моих настройках, а что и где проверять?

С кодом window.open('http://google.com') этого нет, но созданное окно блокируется

Отсутствует

 

Board footer

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