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

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

№12616-04-2013 18:55:08

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

Re: Обсуждение кнопок CB

rbfyec пишет

В адресную строку вставляется мой текст, за которым следует текущий урл. Ну и нажимается Энтер.

Выделить код

Код:

gURLBar.value = "мой текст" + content.document.location;
gURLBar.focus();

var evt = document. createEvent ("KeyEvents");
evt.initKeyEvent("keypress", true, true, null, false, false, false, false, evt. DOM_VK_RETURN, 0 );
if ( document.activeElement.nodeName == "browser" )
     gBrowser.contentDocument.activeElement.dispatchEvent(evt);
else
     document. activeElement. dispatchEvent (evt);

Отсутствует

 

№12716-04-2013 22:43:11

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

Re: Обсуждение кнопок CB

bunda1, это именно то, что я хотел. Спасибо!

okkamas_knife, спасибо за ссылки, буду стараться разобраться :)

Отсутствует

 

№12817-04-2013 10:29:06

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

Re: Обсуждение кнопок CB

okkamas_knife пишет

bunda1
ну ты накрутил!!
там нужно то всего одну строчку

Выделить код

Код:

loadURI ("мой текст"+gURLBar.value)

А вот не работает этот код. Я получаю сообщение:

Формат адреса неверен

URL недействителен и не может быть загружен.

Адреса веб-сайтов обычно записываются в формате http://www.example.com/
Убедитесь, что вы используете в качестве разделителя прямую косую черту (т.е. /).

Отсутствует

 

№12917-04-2013 18:26:58

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 20.0

Re: Обсуждение кнопок CB

Можно как-то написать такой код, чтобы на определённом сайте, точнее на

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


при просмотре манги можно было нажать кнопку и все ссылки на изображения, относящиеся к конкретной главе, скопировались в буфер обмена, а то замучался каждую картинку сохранять вручную =)

По идее все эти ссылки на картинки есть в буфере управляющего скрипта, т.к. переключение картинок (страниц одной главы) происходит даже,если нет физического соединения с сетью, вот только как их выдрать не представляю...

Отсутствует

 

№13017-04-2013 20:09:38

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 20.0

Re: Обсуждение кнопок CB

okkamas_knife
Спасибо огромное, я тупанул, посмотрел фаер багом, а он как-то странно тег порезал, кроме ссылки первой картинки не видно больше ничего :dumb:

Отсутствует

 

№13117-04-2013 21:19:24

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

Re: Обсуждение кнопок CB

okkamas_knife пишет

rbfyec а вам для каких целей то? и что вы добавляете впереди?если вам для поиска используя кейворды то вместо кейворда пишите полный адрес запроса например если g - поиск в гугле то вместо loadURI ("g "+gURLBar.value)пишемloadURI ("http://www.google.com/search?q="+gURLBar.value)

Да, именно кейворды я и собирался подставлять :)
Ваш вариант с полным адресом работает. Но не со всеми ресурсами, с некоторыми даёт сбой.
А код, который предложил bunda1 работает с любыми сайтами. Безотказно, как часы!

В любом случае, спасибо большое за помощь!

Отсутствует

 

№13218-04-2013 02:09:42

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 20.0

Re: Обсуждение кнопок CB

Прошу сильно не пинать, пишу на яве вообще первый раз, может что-то упустил, не могу врубится, почему кнопка срабатывает через раз?.. :/

Может кто, что посоветует?

скрытый текст
проверить можно, например, тут:
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Выделить код

Код:

/*CODE*/
var doc = content.document.body.innerHTML ;

gClipboard.clear() ;

// ---------------------------------------
var razdelit = '"fullimg":["' ;               // Сносим первую часть страницы, по "fullimg":["
var array_of_strings = doc.split(razdelit) ;
cut_string = array_of_strings[1] ;

doc = cut_string ;
// ---------------------------------------
var razdelit = '",]' ;                        // Сносим вторую часть страницы, начиная от ",] 
var array_of_strings = doc.split(razdelit) ;
cut_string = array_of_strings[0] ;

doc = cut_string ;
// ---------------------------------------
var i ;

var ending_str="" ;

var razdelit = '","' ; // Описываем разделители

var array_of_strings = doc.split(razdelit) ; // описываем массив ссылок разделённых razdelit


                                             // собирам окончательную строку из элементов массива
                                             // в конце каждой ссылки добавляем перенос строки -'\n'
for (i=0; i < array_of_strings.length; i++) {

    ending_str = ending_str + array_of_strings[i] + '\n' ;
    
} ;

gClipboard.write(ending_str) ;

alert("Ссылки скопированны в буфер обмена.");

Отсутствует

 

№13318-04-2013 11:39:37

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 20.0

Re: Обсуждение кнопок CB

okkamas_knife пишет

проставь алерты на каждом этапе для контроля переменных

Бред какой-то, напихал алертов на каждое действие, кнопка стала работать идеально... O_<"


Добавлено 18 апреля 2013 г. в 12:30

В общем фиг знает почему, но нормально работает такой вот код:

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

Выделить код

Код:

/*CODE*/
var doc = content.document.body.innerHTML ;

gClipboard.clear() ;

// ---------------------------------------
var razdelit = '"fullimg":["' ;               // Сносим первую часть страницы, по "fullimg":["
var array_of_strings = doc.split(razdelit) ;
var cut_string = array_of_strings[1] ;

var doc = cut_string ;

// ---------------------------------------
var razdelit = '",]' ;                        // Сносим вторую часть страницы, начиная от ",] 
var array_of_strings = doc.split(razdelit) ;
var cut_string = array_of_strings[0] ;

var doc = cut_string ;

// ---------------------------------------
var i ;

var ending_str="" ;

var razdelit = '","' ; // Описываем разделители


var array_of_strings = doc.split(razdelit) ; // описываем массив ссылок разделённых razdelit

alert("Ссылки скопированы в буфер обмена.");

                                             // собирам окончательную строку из элементов массива
                                             // в конце каждой ссылки добавляем перенос строки -'\n'
for (i=0; i < array_of_strings.length; i++) {

    ending_str = ending_str + array_of_strings[i] + '\n' ;
    
} ;

gClipboard.write(ending_str) ;


// alert("Ссылки скопированны в буфер обмена.");

Отредактировано Zaycoff (18-04-2013 12:30:07)

Отсутствует

 

№13418-04-2013 13:00:09

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 13.0

Re: Обсуждение кнопок CB

http://forum.mozilla-russia.org/viewtopic.php?pid=446701#p446701
DXUi5Dua.jpg
на русский не хочет переводить, в чем может быть дело?

Отсутствует

 

№13518-04-2013 13:21:42

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

Re: Обсуждение кнопок CB

Zaycoff пишет

Прошу сильно не пинать

И меня тоже

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

Выделить код

Код:

/*CODE*/
var links = content.wrappedJSObject.data.fullimg.join("\r\n");
gClipboard.write(links);
alert("Ссылки скопированны в буфер обмена.\nВот они:\n" + links);


P.S. Если вопрос был про редирект, то может в Инициализацию
скрытый текст

Выделить код

Код:

const du = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
function vk(e) {
    var doc = e.target;
    if (doc.location.host != "vk.com") return;
    var br = du.getParentForNode(doc, true);
    var wn = br.webNavigation;
    wn.allowMetaRedirects = false;
    addEventListener("load", function onLoad() {
        removeEventListener("load", onLoad, true, br);
        wn.allowMetaRedirects = true;
    }, true, br);
}
addEventListener("DOMContentLoaded", vk, false, gBrowser);

Отсутствует

 

№13618-04-2013 15:12:45

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

Re: Обсуждение кнопок CB

Kiril__777 пишет

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

intl.accept_languages;ru, en-US, en так? Больше причин не знаю, УМВР.


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

Отсутствует

 

№13718-04-2013 15:22:29

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 13.0

Re: Обсуждение кнопок CB

adidharma пишет

intl.accept_languages;ru, en-US, en

что-то я такого вообще не нахожу

Отсутствует

 

№13818-04-2013 15:35:15

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 20.0

Re: Обсуждение кнопок CB

Dumby
Ваа!! Как просто... спасибо огромное! :music:

И за вконтакт отдельная благодарность - очень полезная штука, если нужно только почитать его, а разрешать скрипты и логиниться не хочется =)

okkamas_knife
Проверил код кнопки на ESR 10.0.9 и 17.0.5 - глючит точно так же, ладно, фиг с ним, главное хоть так работает :rolleyes:

Отсутствует

 

№13918-04-2013 15:49:47

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

Re: Обсуждение кнопок CB

Kiril__777 пишет

что-то я такого вообще не нахожу

скрытый текст
А, ну да, ступил я, наверно. :dumb: У меня FF английский, с русифкатором, поэтому этот параметр есть. Просто, помнится у меня все кнопки для перевода начали глючить, причина оказалась, что после установки русика добавилось intl.accept_languages;ru, ru-RU, en-US, en
Как убрал ru-RU - стало всё нормально.

p.s. Данный параметр относится к этой настройке:
thumb_9481641_0.png


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

Отсутствует

 

№14018-04-2013 15:59:27

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 13.0

Re: Обсуждение кнопок CB

adidharma
вот так работает, спасибо за подсказку.

скрытый текст
где можно прочитать об этом ru-ru и где хранится эта настройка в профиле?
intl.accept_languages

Отредактировано Kiril__777 (18-04-2013 18:58:22)

Отсутствует

 

№14118-04-2013 16:37:32

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

Re: Обсуждение кнопок CB

Zaycoff пишет

И за вконтакт отдельная благодарность - очень полезная штука, если нужно только почитать его, а разрешать скрипты и логиниться не хочется =)

Это где такое?

Отсутствует

 

№14218-04-2013 16:57:43

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 20.0

Re: Обсуждение кнопок CB

voqabuhe пишет

Это где такое?

Dumby пишет

P.S. Если вопрос был про редирект, то может в Инициализацию

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

Выделить код

Код:

const du = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
function vk(e) {
    var doc = e.target;
    if (doc.location.host != "vk.com") return;
    var br = du.getParentForNode(doc, true);
    var wn = br.webNavigation;
    wn.allowMetaRedirects = false;
    addEventListener("load", function onLoad() {
        removeEventListener("load", onLoad, true, br);
        wn.allowMetaRedirects = true;
    }, true, br);
}
addEventListener("DOMContentLoaded", vk, false, gBrowser);

Если это код положить в инициализацию новой кнопки, то при посещении вконтакта можно будет не включать скрипты и куки, часть функционала конечно отвалится, но посты и всякое такое читать будет можно, а мне больше и не нужно, а то дают ссылку на статью во вконтате, а ему ещё и скрипты с куками подавай... бизобразие какой-то :music:

Отсутствует

 

№14319-04-2013 08:41:39

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

Re: Обсуждение кнопок CB

Как бы одну кнопку поправить, чтобы работала в [firefox] 21 и выше. Convert E4X не помогает. :(
Кнопка - Extensions Options Menu (открывает Дополнения и содержит меню со списком расширений, для быстрого доступа к настройкам, где её брал, уже не помню):

скрытый текст
код кнопки

Выделить код

Код:

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%3EExtensions%20Options%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU4NzIwMkI5QkNFNDExRTBCOEIwQzU3QzQyMDBGNDk2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU4NzIwMkJBQkNFNDExRTBCOEIwQzU3QzQyMDBGNDk2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg3MjAyQjdCQ0U0MTFFMEI4QjBDNTdDNDIwMEY0OTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTg3MjAyQjhCQ0U0MTFFMEI4QjBDNTdDNDIwMEY0OTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4v/lPcAAACe0lEQVR42nRTW0tUURQ++3IuHmecdCJzLDRqisaKoR4zlMDKKLEoiR4qIiLwB/QS/YN6CYSgiCBCaKDAIqJI6GKQGFEqhjUQqQk5w5hnZjq3vVtrPMY46YaPb6+111pn3Q6RUioVhwMMgApwAX8AnrLawQBloH03bzU0b935bN2GLbPIKKO+wu4faEU8MvD4aasvaVO4rn4KGWXUr5YADVIOAeoQfTeuTyeTyc+mGc4io7z0FtjxZV+ENEJN8R0px/YSCiWCq3qhKhSeU3Uz79qF6qK1sNZzbVMRkmo6H/8+OXoC/KzyhmlC4bGaaPQrIdQjlArGuU0p94luOoxpBSkE9EDwgjUfA3sdUAQIbCGWIBnXFjjXclzX51W9KguyBYGKyJphZnQz9Msww7M63DOZbG3Hoa7D4BcGMAxgd3a0fRgbfj7Qub91xvddGoxvOQhxmKpa7Qe7r4xNTF6LJ3bfxnGjsXf+7On7wKnei2ee+K6NZTkrgXMj50kWqo7UffF80oi7gsb83IVLPd1HjxiDr960QbPcwOG/Q6hCd21P5D5+Gq1PtGxLY2Y4hdrGTS0vmapZKtd+G6HINNf0/EoB7KIVnRgZTPU/eBg/dfLYMKjeYgZUrzKnjerIFKXMI4y7vutwIX1OCfMoVx1CiI8BoDycwBA4DwFnlqagEMbype6r2oLiufzq5d6f4+9fvEOWrqOhL/ZKSFHafsBcwKVNlItXqF4I2bA+ynqOdz0CuR8ZZdSX5r5oJytX2Y5vbs5DfWscu1iTTn+r39t+IHnn7j0NGWXU4zvaoX3lKjPgfYBYoMNfdwTwA7ARsKds/2cAr4OSSuevAAMAy+gvpYr6B6sAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.label%20%3D%20%22Extensions%22%3B%0Athis.tooltipText%20%3D%20this.label%3B%0A%0A/*%20*****%20BEGIN%20LICENSE%20BLOCK%20*****%0A%20*%20Version%3A%20MPL%201.1%0A%20*%0A%20*%20The%20contents%20of%20this%20file%20are%20subject%20to%20the%20Mozilla%20Public%20License%20Version%0A%20*%201.1%20%28the%20%22License%22%29%3B%20you%20may%20not%20use%20this%20file%20except%20in%20compliance%20with%0A%20*%20the%20License.%20You%20may%20obtain%20a%20copy%20of%20the%20License%20at%0A%20*%20http%3A//www.mozilla.org/MPL/%0A%20*%0A%20*%20Software%20distributed%20under%20the%20License%20is%20distributed%20on%20an%20%22AS%20IS%22%20basis%2C%0A%20*%20WITHOUT%20WARRANTY%20OF%20ANY%20KIND%2C%20either%20express%20or%20implied.%20See%20the%20License%0A%20*%20for%20the%20specific%20language%20governing%20rights%20and%20limitations%20under%20the%0A%20*%20License.%0A%20*%0A%20*%20Original%20code%20is%20Extensions%20Options%20Menu%20for%20Custom%20Buttons%0A%20*%0A%20*%20The%20Initial%20Developer%20of%20the%20Original%20Code%20is%20LouCypher.%0A%20*%20Portions%20created%20by%20the%20Initial%20Developer%20are%20Copyright%20%28C%29%202011%0A%20*%20the%20Initial%20Developer.%20All%20Rights%20Reserved.%0A%20*%0A%20*%20Contributor%28s%29%3A%0A%20*%20%20LouCypher%20%3Cloucypher@mozillaca.com%3E%0A%20*%0A%20*%20*****%20END%20LICENSE%20BLOCK%20*****%20*/%0A%0Afunction%20%24%28aId%29%20%7B%0A%20%20return%20document.getElementById%28aId%29%3B%0A%7D%0A%0Afunction%20%24xml%28aXML%29%20%7B%0A%20%20return%20cbu.makeXML%28aXML%29%3B%0A%7D%0A%0Afunction%20sort%28aArray%29%20%7B%0A%20%20aArray.sort%28function%28a%2C%20b%29%20%7B%0A%20%20%20%20a%20%3D%20a.name.toLowerCase%28%29%3B%0A%20%20%20%20b%20%3D%20b.name.toLowerCase%28%29%3B%0A%20%20%20%20if%20%28a%20%3C%20b%29%20return%20-1%3B%0A%20%20%20%20if%20%28a%20%3E%20b%29%20return%201%3B%0A%20%20%20%20return%200%3B%0A%20%20%7D%29%0A%7D%0A%0Athis.openDialog%20%3D%20function%28aURL%29%20%7B%0A%20%20openDialog%28aURL%2C%20%22%22%2C%20%22chrome%2C%20dialog%2C%20close%2C%20titlebar%2C%20toolbar%2C%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22scrollbars%2C%20minimizable%2C%20centerscreen%22%29%3B%0A%7D%0A%0Athis.setStatus%20%3D%20function%28aString%29%20%7B%0A%20%20document.getElementById%28%22statusbar-display%22%29.label%20%3D%20aString%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%20inspectExtensions%28aEvent%29%20%7B%0A%20%20if%20%28%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7C%7C%0A%20%20%20%20%20%20%28aEvent.button%20%21%3D%201%29%29%20return%3B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddons%5Bi%5D.type%20%3D%3D%20%22extension%22%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20inspectObject%28extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Athis.addonsMgr%20%3D%20function%28aPopup%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20aAddons%5Bi%5D.toString%20%3D%20function%28%29%20%7B%20return%20this.name%3B%20%7D%0A%20%20%20%20%20%20if%20%28%28aAddons%5Bi%5D.type%20%3D%3D%20%22extension%22%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%28aAddons%5Bi%5D.optionsURL%20%21%3D%20null%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20aAddons%5Bi%5D.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20aCallback%28aPopup%2C%20extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20getExtensionObject%28aId%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddons%5Bi%5D.id%20%3D%3D%20aId%29%20%7B%0A%20%20%20%20%20%20%20%20aCallback%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%29%0A%7D%0A%0Afunction%20addItem%28aNode%2C%20aId%2C%20aLabel%2C%20aURL%2C%20aIcon%2C%20aHomePage%2C%20aDesc%29%20%7B%0A%20%20aNode.appendChild%28%24xml%28%3Cmenuitem%20xmlns%3D%7Bxulns%7D%20class%3D%22menuitem-iconic%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20GUID%3D%7BaId%7D%20label%3D%7BaLabel%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20image%3D%7BaIcon%7D%20homepage%3D%7BaHomePage%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20statustext%3D%7BaURL%7D%20tooltiptext%3D%7BaDesc%7D/%3E%29%29%3B%0A%7D%0A%0Avar%20popup%20%3D%20%24xml%28%3Cmenupopup%20xmlns%3D%7Bxulns%7D%20context%3D%22cb-extensions-menu%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%22event.stopPropagation%28%29%3B%20this.parentNode.openDialog%28event.target.statusText%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%22this.parentNode.setStatus%28event.target.statusText%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%22this.parentNode.setStatus%28%27%27%29%3B%22/%3E%29%3B%0A%0Athis.populate%20%3D%20function%28aPopup%2C%20aExtensions%29%20%7B%0A%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20addItem%28aPopup%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%20%3A%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%7D%0A%7D%0A%0Athis.addonsMgr%28popup%2C%20this.populate%29%3B%0A%0Athis.appendChild%28popup%29%3B%0Athis.type%20%3D%20%22menu-button%22%3B%0A%0A//---------------------------------%0A%0Athis.copyId%20%3D%20function%28aId%29%20%7B%0A%20%20Cc%5B%22@mozilla.org/widget/clipboardhelper%3B1%22%5D.%0A%20%20getService%28Ci.nsIClipboardHelper%29.copyString%28aId%29%3B%0A%7D%0A%0Athis.goHome%20%3D%20function%28aURL%29%20%7B%0A%20%20gBrowser.loadOneTab%28aURL%29%3B%0A%7D%0A%0Athis.inspect%20%3D%20function%28aId%29%20%7B%0A%20%20getExtensionObject%28aId%2C%20inspectObject%29%3B%0A%7D%0A%0Athis.explore%20%3D%20function%28aId%29%20%7B%0A%20%20var%20dirService%20%3D%20Cc%5B%22@mozilla.org/file/directory_service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIProperties%29%3B%0A%20%20var%20dir%20%3D%20dirService.get%28%22ProfD%22%2C%20Ci.nsIFile%29%3B%0A%20%20dir.append%28%22extensions%22%29%3B%0A%20%20dir.append%28aId%29%3B%0A%20%20if%20%28%21dir.exists%28%29%29%20%7B%0A%20%20%20%20alert%28%22Directory%20%22%20+%20dir.path%20+%20%22%20doesn%27t%20exist%21%22%29%3B%0A%20%20%20%20return%3B%0A%20%20%20%20//dir.append%28%22.xpi%22%29%3B%0A%20%20%20%20//Application.console.log%28dir.path%29%3B%0A%20%20%7D%0A%20%20var%20localFileInterface%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20createInstance%28Ci.nsILocalFile%29%3B%0A%20%20localFileInterface.initWithPath%28dir.path%29%3B%0A%20%20var%20iDirectory%20%3D%20localFileInterface%3B%0A%20%20try%20%7B%0A%20%20%20%20iDirectory.reveal%28%29%3B%0A%20%20%7D%20catch%28ex%29%20%7B%0A%20%20%20%20var%20uri%20%3D%20Cc%5B%22@mozilla.org/network/io-service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIIOService%29.newFileURI%28iDirectory%29%3B%0A%20%20%20%20var%20protocolSvc%20%3D%20Cc%5B%22@mozilla.org/uriloader/external-protocol-service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIExternalProtocolService%29%3B%0A%20%20%20%20protocolSvc.loadUrl%28uri%29%3B%0A%20%20%7D%0A%7D%0A%0Aif%20%28%24%28%22cb-extensions-menu%22%29%29%20%7B%0A%20%20%24%28%22cb-extensions-menu%22%29.parentNode.removeChild%28%24%28%22cb-extensions-menu%22%29%29%3B%0A%7D%0A%0Athis.checkForDOMI%20%3D%20function%28aEvent%29%20%7B%0A%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7B%0A%20%20%20%20aEvent.target.getElementsByTagName%28%22menuitem%22%29%5B2%5D.hidden%20%3D%20true%3B%0A%20%20%7D%0A%7D%0A%0Avar%20popupset%20%3D%20document.getElementById%28%22mainPopupSet%22%29%3B%0Avar%20context%20%3D%20popupset.appendChild%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24xml%28%3Cmenupopup%20xmlns%3D%7Bxulns%7D%20id%3D%22cb-extensions-menu%22%20onclick%3D%22event.stopPropagation%28%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onpopupshowing%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.checkForDOMI%28event%29%3B%22%7D%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Visit%20Home%20Page%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27homepage%27%29%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.goHome%28document.popupNode.getAttribute%28%27homepage%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Copy%20GUID%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.copyId%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Inspect%20Extension%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.inspect%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Browse%20Install%20Directory%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.explore%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/menupopup%3E%29%29%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bvar%20url%20%3D%20%22chrome%3A//mozapps/content/extensions/extensions.xul%22%3B%0A%0Aif%20%28gBrowser.mCurrentTab.linkedBrowser.currentURI.spec%20%3D%3D%20%22about%3Ablank%22%29%20%7B%0A%20%20loadURI%28url%29%3B%0A%20%20return%3B%0A%7D%0A%0Avar%20tabs%20%3D%20gBrowser.mTabs%3B%0Afor%20%28var%20i%20%3D%200%3B%20i%20%3C%20tabs.length%3B%20i++%29%20%7B%0A%20%20if%20%28tabs%5Bi%5D.linkedBrowser.currentURI.spec%20%3D%3D%20url%29%20%7B%0A%20%20%20%20gBrowser.selectedTab%20%3D%20tabs%5Bi%5D%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%7D%0A%0AgBrowser.loadOneTab%28url%2C%20null%2C%20null%2C%20null%2C%20false%29%3B%0A%0A%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

код

Выделить код

Код:

var url = "chrome://mozapps/content/extensions/extensions.xul";

if (gBrowser.mCurrentTab.linkedBrowser.currentURI.spec == "about:blank") {
  loadURI(url);
  return;
}

var tabs = gBrowser.mTabs;
for (var i = 0; i < tabs.length; i++) {
  if (tabs[i].linkedBrowser.currentURI.spec == url) {
    gBrowser.selectedTab = tabs[i];
    return;
  }
}

gBrowser.loadOneTab(url, null, null, null, false);

инициализация

Выделить код

Код:

this.label = "Extensions";
this.tooltipText = this.label;

/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * Original code is Extensions Options Menu for Custom Buttons
 *
 * The Initial Developer of the Original Code is LouCypher.
 * Portions created by the Initial Developer are Copyright (C) 2011
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *  LouCypher <loucypher@mozillaca.com>
 *
 * ***** END LICENSE BLOCK ***** */

function $(aId) {
  return document.getElementById(aId);
}

function $xml(aXML) {
  return cbu.makeXML(aXML);
}

function sort(aArray) {
  aArray.sort(function(a, b) {
    a = a.name.toLowerCase();
    b = b.name.toLowerCase();
    if (a < b) return -1;
    if (a > b) return 1;
    return 0;
  })
}

this.openDialog = function(aURL) {
  openDialog(aURL, "", "chrome, dialog, close, titlebar, toolbar," +
                       "scrollbars, minimizable, centerscreen");
}

this.setStatus = function(aString) {
  document.getElementById("statusbar-display").label = aString;
}

this.onclick = function inspectExtensions(aEvent) {
  if ((typeof inspectObject != "function") ||
      (aEvent.button != 1)) return;
  AddonManager.getAllAddons(function(aAddons) {
    var extensions = [];
    for (var i = 0; i < aAddons.length; i++) {
      if (aAddons[i].type == "extension") {
        extensions.push(aAddons[i]);
      }
    }
    sort(extensions);
    inspectObject(extensions);
  })
}

this.addonsMgr = function(aPopup, aCallback) {
  AddonManager.getAllAddons(function(aAddons) {
    var extensions = [];
    for (var i = 0; i < aAddons.length; i++) {
      aAddons[i].toString = function() { return this.name; }
      if ((aAddons[i].type == "extension") &&
          (aAddons[i].optionsURL != null) &&
          aAddons[i].isActive) {
        extensions.push(aAddons[i]);
      }
    }
    sort(extensions);
    aCallback(aPopup, extensions);
  })
}

function getExtensionObject(aId, aCallback) {
  AddonManager.getAllAddons(function(aAddons) {
    for (var i = 0; i < aAddons.length; i++) {
      if (aAddons[i].id == aId) {
        aCallback(aAddons[i]);
        return;
      }
    }
  })
}

function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) {
  aNode.appendChild($xml(<menuitem xmlns={xulns} class="menuitem-iconic"
                           GUID={aId} label={aLabel}
                           image={aIcon} homepage={aHomePage}
                           statustext={aURL} tooltiptext={aDesc}/>));
}

var popup = $xml(<menupopup xmlns={xulns} context="cb-extensions-menu"
                  oncommand="event.stopPropagation(); this.parentNode.openDialog(event.target.statusText);"
                  onmouseover="this.parentNode.setStatus(event.target.statusText);"
                  onmouseout="this.parentNode.setStatus('');"/>);

this.populate = function(aPopup, aExtensions) {
  for (var i = 0; i < aExtensions.length; i++) {
    let ext = aExtensions[i];
    addItem(aPopup, ext.id, ext.name + " " + ext.version, ext.optionsURL,
                    (ext.iconURL ? ext.iconURL : "chrome://mozapps/skin/extensions/extensionGeneric-16.png"),
                    (ext.homepageURL ? ext.homepageURL : ext.reviewURL.replace(/\/reviews/, "").toString()),
                    ext.description);
  }
}

this.addonsMgr(popup, this.populate);

this.appendChild(popup);
this.type = "menu-button";

//---------------------------------

this.copyId = function(aId) {
  Cc["@mozilla.org/widget/clipboardhelper;1"].
  getService(Ci.nsIClipboardHelper).copyString(aId);
}

this.goHome = function(aURL) {
  gBrowser.loadOneTab(aURL);
}

this.inspect = function(aId) {
  getExtensionObject(aId, inspectObject);
}

this.explore = function(aId) {
  var dirService = Cc["@mozilla.org/file/directory_service;1"].
                   getService(Ci.nsIProperties);
  var dir = dirService.get("ProfD", Ci.nsIFile);
  dir.append("extensions");
  dir.append(aId);
  if (!dir.exists()) {
    alert("Directory " + dir.path + " doesn't exist!");
    return;
    //dir.append(".xpi");
    //Application.console.log(dir.path);
  }
  var localFileInterface = Cc["@mozilla.org/file/local;1"].
                           createInstance(Ci.nsILocalFile);
  localFileInterface.initWithPath(dir.path);
  var iDirectory = localFileInterface;
  try {
    iDirectory.reveal();
  } catch(ex) {
    var uri = Cc["@mozilla.org/network/io-service;1"].
              getService(Ci.nsIIOService).newFileURI(iDirectory);
    var protocolSvc = Cc["@mozilla.org/uriloader/external-protocol-service;1"].
                      getService(Ci.nsIExternalProtocolService);
    protocolSvc.loadUrl(uri);
  }
}

if ($("cb-extensions-menu")) {
  $("cb-extensions-menu").parentNode.removeChild($("cb-extensions-menu"));
}

this.checkForDOMI = function(aEvent) {
  if (typeof inspectObject != "function") {
    aEvent.target.getElementsByTagName("menuitem")[2].hidden = true;
  }
}

var popupset = document.getElementById("mainPopupSet");
var context = popupset.appendChild(
                $xml(<menupopup xmlns={xulns} id="cb-extensions-menu" onclick="event.stopPropagation();"
                                onpopupshowing={"document.getElementById('" + this.id + "').checkForDOMI(event);"}>
                      <menuitem label="Visit Home Page"
                                onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('homepage'));"}
                                onmouseout={"document.getElementById('" + this.id + "').setStatus('');"}
                                oncommand={"document.getElementById('" + this.id + "').goHome(document.popupNode.getAttribute('homepage'));"}/>
                      <menuitem label="Copy GUID"
                                onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('GUID'));"}
                                onmouseout={"document.getElementById('" + this.id + "').setStatus('');"}
                                oncommand={"document.getElementById('" + this.id + "').copyId(document.popupNode.getAttribute('GUID'));"}/>
                      <menuitem label="Inspect Extension"
                                onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('GUID'));"}
                                onmouseout={"document.getElementById('" + this.id + "').setStatus('');"}
                                oncommand={"document.getElementById('" + this.id + "').inspect(document.popupNode.getAttribute('GUID'));"}/>
                      <menuitem label="Browse Install Directory"
                                onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('GUID'));"}
                                onmouseout={"document.getElementById('" + this.id + "').setStatus('');"}
                                oncommand={"document.getElementById('" + this.id + "').explore(document.popupNode.getAttribute('GUID'));"}/>
                     </menupopup>));


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

Отсутствует

 

№14419-04-2013 09:14:23

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

Re: Обсуждение кнопок CB

adidharma пишет

где её брал, уже не помню

LouCypher <loucypher@mozillaca.com>

https://loucypher.googlecode.com/svn/custombuttons/xml/
=> https://loucypher.googlecode.com/svn/cu … 20Menu.xml
По виду должна работать. :)


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

Отсутствует

 

№14519-04-2013 10:04:05

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

Re: Обсуждение кнопок CB

Infocatcher пишет

По виду должна работать. :)

Спасибо за ссылку, но чёто всё-равно работать не хочет. :sick: Раньше совсем меню не работало и кнопка "бледная" была, а теперь выдаёт такую фигню:
[firefox] 21 thumb_4358399_1.png

[nightly] 23 thumb_4356884_0.png

C ABP конфликтует, штоли? :sick:

Да, отключил Adblock - всё нормально стало. С ABP такая ошибка:
2933161_0.png

На 20-й версии тоже такую же ошибку выдаёт, а та кнопка, что я выше привёл, нормально работает. :sick:
:whiteflag:

Отредактировано adidharma (19-04-2013 12:05:54)


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

Отсутствует

 

№14619-04-2013 12:42:49

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

Re: Обсуждение кнопок CB

adidharma
Заменить

Выделить код

Код:

function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) {
  aNode.appendChild($xml('<menuitem xmlns="' + xulns + '" '
                       + 'class="menuitem-iconic" GUID="' + aId + '" '
                       + 'label="' + aLabel + '" image="' + aIcon + '" '
                       + 'homepage="' + htmlEntities(aHomePage) + '" '
                       + 'statustext="' + aURL + '" '
                       + 'tooltiptext="' + aDesc + '"/>'));
}

на

Выделить код

Код:

function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) {
  aNode.appendChild($xml('<menuitem xmlns="' + xulns + '" '
                       + 'class="menuitem-iconic" GUID="' + htmlEntities(aId) + '" '
                       + 'label="' + htmlEntities(aLabel) + '" image="' + htmlEntities(aIcon) + '" '
                       + 'homepage="' + htmlEntities(aHomePage) + '" '
                       + 'statustext="' + htmlEntities(aURL) + '" '
                       + 'tooltiptext="' + htmlEntities(aDesc) + '"/>'));
}

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

Отсутствует

 

№14719-04-2013 13:12:32

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

Re: Обсуждение кнопок CB

Infocatcher
:beer:


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

Отсутствует

 

№14821-04-2013 18:33:47

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 13.0

Re: Обсуждение кнопок CB

для фф 20 есть кнопка BBCode? та что имеется уже не работает :(

Отсутствует

 

№14921-04-2013 20:19:41

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

Re: Обсуждение кнопок CB

Kiril__777 пишет

для фф 20 есть кнопка BBCode? та что имеется уже не работает :(

№6924

Отсутствует

 

№15022-04-2013 06:21:51

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 13.0

Re: Обсуждение кнопок CB

voqabuhe работает, спасибо

Отсутствует

 

Board footer

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