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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№97601-08-2009 14:44:05

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

Re: Custom Buttons

razoo

4. Еще :)
Возможно ли сделать так, чтобы картинка кнопки на onmouseover менялась в зависимости от того какой модификатор в это время нажат? Т.е. ctrl + onmouseover – одна картинка, просто onmouseover – другая. Это было бы наглядней, если все-таки получится применить варианты нажатий с модификаторами

Можно, код в раздел "Инициализация":

Соответственно, поправить this. image = "file:///... нужными адресами.
Правда, картинка не будет меняться если модификатор нажимается когда курсор уже находится над кнопкой.

Выделить код

Код:

this. oldimage = this. image;
this. onmouseover = function (event)
{
	if (event. ctrlKey)
		this. image = "file:///m:/redicon.png";
	else if (event. shiftKey)
		this. image = "file:///m:/greenicon.png";
	else
		this. image = this. oldimage;
};
this. onmouseout = function (event)
{
	this. image = this. oldimage;
};

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

Отсутствует

 

№97701-08-2009 15:30:23

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

Re: Custom Buttons

razoo

5. Переделал кнопки All-in-One Sidebar - Page Info и Multipanel. Они работают. Но как и задумано в AiOS – открываются в боковой панели. У родных кнопок AiOS есть возможность открывать в новом табе – но только на ctrl +click. Как сделать, чтобы они открывались в табе по умолчанию?

Page Info:

Multipanel:

AiOS должен быть установлен.

Добавлено 01-08-2009 15:37:39
razoo

6.

Infocatcher пишет

Если только сделать «обертку» для оригинальной функции открытия

можно узнать, что значит "обертка"? )

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

Вообще, кто-нибудь когданибудь открывал в табе менеджер скрапбука?

Так:

?

Выделить код

Код:

aios_addTab ("chrome://browser/content/pageinfo/pageInfo.xul");

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

Отсутствует

 

№97802-08-2009 01:36:41

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

Re: Custom Buttons

Al_H

В раздел "Код": http://pastebin.mozilla-russia.org/100508
В раздел "Инициализация": http://pastebin.mozilla-russia.org/100509 - баг, не работают чекбоксы для строк тем
Исправлено: http://pastebin.mozilla-russia.org/100576

Желательно удалить из корневого каталога профиля файл themes.js

Темы фильтруются по префиксам "themecustomize-", "themecustomization-", "themeheal-".

С прокруткой таблицы не справился.

Отредактировано Anton (04-08-2009 23:50:06)


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

Отсутствует

 

№97902-08-2009 15:25:14

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

Классный аддончик, как раз для меня, мне только дай чегонить поскриптить =) Только такой вопрос появился: как получить доступ к JS-переменным, использующимся на конкретной странице? То есть, к примеру, где-то в скриптах страницы есть строчка 
А я хочу, чтобы зайдя на эту страницу, я мог нажать свою кнопку, где написано что-то вроде 
и мне выведет текст переменной?

Выделить код

Код:

var aaa='bbb';

Отсутствует

 

№98002-08-2009 18:31:28

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

Re: Custom Buttons

Dreyk пишет

Только такой вопрос появился: как получить доступ к JS-переменным, использующимся на конкретной странице?

В общем случае это небезопасно, вроде как.

А content.location.href = "javascript: ... " выполняет код без chrome-привилегий.

Или как-то так:


Выделить код

Код:

content.location.href = "javascript: var aaa='bbb'; void 0";
alert(content.wrappedJSObject.aaa);

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

Отсутствует

 

№98102-08-2009 18:54:30

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

нене, через window  я сам знаю) дело в том, что страницу-то не я пишу)

Получается, что скрипты кнопок не имеют доступа к переменным, которые не прописаны в window...

Вот к примеру в консоли firebug'a можно написать любую команду, и все переменные видны... тут что-то не так?

Отсутствует

 

№98202-08-2009 19:21:32

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

Re: Custom Buttons

Dreyk

...То есть, к примеру, где-то в скриптах страницы есть строчка...

Если "где-то в скриптах страницы" есть переменная x, то

отобразит её значение.
Например, где-то в скриптах этой страницы есть переменная xajax.

выдаёт её значение.

...к переменным, которые не прописаны в window...

Какие переменные тебя интересуют ?

Выделить код

Код:

alert (content. wrappedJSObject. x)

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

Отсутствует

 

№98302-08-2009 21:59:03

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

Anton пишет

Код:alert (content. wrappedJSObject. x)

Во. То, что надо, спасибо. Просто не знал как достучаться до тех переменных.

Есть какой-то API? Где почитать можно?

Отсутствует

 

№98402-08-2009 22:08:22

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

Re: Custom Buttons

Dreyk пишет

Есть какой-то API? Где почитать можно?

На http://developer.mozilla.org/
Там полно всяких API


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

Отсутствует

 

№98503-08-2009 00:34:01

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

О, еще, как к функциям получить доступ, тем которые в страничке объявлены?

Отсутствует

 

№98603-08-2009 00:45:02

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

Re: Custom Buttons

Dreyk пишет

как к функциям получить доступ, тем которые в страничке объявлены?

Так же, как и к переменным.


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

Отсутствует

 

№98703-08-2009 01:17:23

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

кто бы мог поудмать >.< вроде пробовал, не получалось... знач руки искривились =)

Отсутствует

 

№98803-08-2009 02:09:01

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

Re: Custom Buttons

Только функции со странички лучше не вызывать...
А использовать для этого, например, javascript-протокол:


Например, где-то в скриптах этой страницы есть переменная xajax.

Пример на тему:

Или изучать матчасть про Components.utils.evalInSandbox.

Выделить код

Код:

content.location.href = "javascript: someFuncFromPage(); void 0;";

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

Отсутствует

 

№98903-08-2009 15:40:39

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

Re: Custom Buttons

Infocatcher пишет

Только функции со странички лучше не вызывать...

Вообще говоря, лучше не трогать и переменные - к некоторым может быть привязана функция (getter).

Но:
html: http://pastebin.mozilla-russia.org/100525
chrome: http://pastebin.mozilla-russia.org/100526

Скорее всего, я плохо искал, но на приведенном примере разницы между песочницей и прямым вызовом, по крайней мере в 3.5 не видно.


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

Отсутствует

 

№99003-08-2009 15:54:17

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

Re: Custom Buttons

Anton пишет

Скорее всего, я плохо искал, но на приведенном примере разницы между песочницей и прямым вызовом, по крайней мере в 3.5 не видно.

Видимо, враппер там уже не один:
https://developer.mozilla.org/en/XPConnect_wrappers


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

Отсутствует

 

№99103-08-2009 17:07:51

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

Re: Custom Buttons

Anton пишет

Вообще говоря, лучше не трогать и переменные - к некоторым может быть привязана функция (getter).

Да, забыл про них... :sick:

По идее, достаточно проверить
obj.__lookupGetter__(property)

Anton пишет

Скорее всего, я плохо искал, но на приведенном примере разницы между песочницей и прямым вызовом, по крайней мере в 3.5 не видно.

Я тоже поигрался – только через eval() и прочие new Function() удалось вызвать код со страницы с повышенными привилегиями.

Отредактировано Infocatcher (03-08-2009 17:08:15)


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

Отсутствует

 

№99203-08-2009 22:38:22

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

Та нет там вроде геттеров)
Это я себе кнопку писал, чтобы на файлообменниках по 30-60 секунд не ждать =) Собстна функций вызывать и не надо даже, без этого обошелся

Как выложить готовую кнопку?

Отредактировано Dreyk (04-08-2009 03:19:50)

Отсутствует

 

№99304-08-2009 08:49:08

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 22
UA: Foxware 0.0

Re: Custom Buttons

Anton пишет



Anton, спасибо, работает.
Я только заменил на
chrome://scrapbook/content/manage.xul
Иначе он открывает в табе не менеджер а боковую панель скрапбука.
В отличии от Скрапбука открыть в табе Менеджер Закладок таким триксом не удалось.
Может, предложите еще вариант?

Кнопки All-in-One Sidebar также заработали как хотелось. Все отлично. С модификаторами тоже помогли разобраться – спасибо Antonу и Infocatcherу.
Теперь возник вопрос, можно ли как-нибудь обрабатывать двойные клики?

Что касается замены плагина Uppity на кастомбатоновскую кнопку – то, порыскав, я нашел GoUp, кнопка практически делает то же самое. Но она для CB2, может быть, поэтому работает некорректно? На какой бы пункт в меню дропмаркера я не щелкал – она поднимает только на один уровень.
Я не прошу возиться с чужим кодом :)), я пока хотел только узнать может ли этот глюк быть из-за «заточки» кнопки под разные Custom Buttons?

Еще хотел спросить, какой должен быть код кнопки для папки из закладок. Или где его поискать DOMi Т.е., если поместить папку на панель закладок она ведь ведет себя как выпадающее меню. Вот, собственно у меня на панели закладок 20 таких папок и все закладки раскиданы в них по темам и подкаталогам. Эти 20 и хотелось заменить кнопками (раздилить визуально по темам, а то, они все одинаковые). Но только те папки, что на панели (т.е головные темы закладок), все что ниже чтобы оставалось родным букмарочным.

Выделить код

Код:

getBrowser (). addTab ("chrome://scrapbook/content/scrapbook.xul");

Отсутствует

 

№99404-08-2009 14:06:12

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

Re: Custom Buttons

Dreyk

Как выложить готовую кнопку?

В тегах &#91;code&#93; или на pastebin, я думаю.

razoo

В отличии от Скрапбука открыть в табе Менеджер Закладок таким триксом не удалось.


?

razoo пишет

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

Так же, как и обычные клики:


razoo пишет

я пока хотел только узнать может ли этот глюк быть из-за «заточки» кнопки под разные Custom Buttons?

Для этой конкретной кнопки - нет. Я проверил на CB2 3.0.1 - она работает точно так же. Наверное, так задумано.
На замену переделанная из кнопки для Block Site новая:
В раздел "Код":

В раздел "Инициализация":


razoo пишет

Еще хотел спросить, какой должен быть код кнопки для папки из закладок.

Вот это не просите. Я пару раз честно за это брался, оба раза не справился, и браться больше не хочу.

Выделить код

Код:

getBrowser (). addTab ("chrome://browser/content/places/places.xul");

Отредактировано Anton (04-08-2009 15:22:15)


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

Отсутствует

 

№99504-08-2009 15:38:05

3Jlou
Участник
 
Группа: Members
Зарегистрирован: 14-08-2008
Сообщений: 211
UA: Firefox 3.5

Re: Custom Buttons

razoo пишет

...у меня на панели закладок 20 таких папок и все закладки раскиданы в них по темам и подкаталогам. Эти 20 и хотелось заменить кнопками (раздилить визуально по темам, а то, они все одинаковые). Но только те папки, что на панели (т.е головные темы закладок), все что ниже чтобы оставалось родным букмарочным.

у меня подобное реализовано через userChrome.css:

/* Скрыть "text" или "icon" папки в Панели закладок */
#personal-bookmarks .toolbarbutton-text {display : none !important;}

/* Назначить иконку папке в Панели закладок */
.bookmark-item[container="true"][label="тут название папки в Панели закладок"] {
list-style-image: url( 'тут код иконки в base64') !important;
-moz-image-region: rect(0px 16px 16px 0px) !important;
}

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

Отредактировано 3Jlou (04-08-2009 15:40:16)

Отсутствует

 

№99604-08-2009 18:38:59

Dreyk
Участник
 
Группа: Members
Зарегистрирован: 02-08-2009
Сообщений: 9
UA: Firefox 3.5

Re: Custom Buttons

Anton пишет

В тегах [сode] или на pastebin, я думаю.

Я имею в виду через собственный протокол custombuttons:// как это сделано тут

Отсутствует

 

№99704-08-2009 18:53:22

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

Re: Custom Buttons

Dreyk

Я имею в виду через собственный протокол custombuttons://

В контекстном меню кнопки есть пункт "Копировать код в буфер". Он копирует в буфер обмена ссылку вида custombutton://...


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

Отсутствует

 

№99804-08-2009 21:19:13

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 22
UA: Foxware 0.0

Re: Custom Buttons

3Jlou пишет

/* Скрыть "text" или "icon" папки в Панели закладок */
    #personal-bookmarks .toolbarbutton-text {display : none !important;}

    /* Назначить иконку папке в Панели закладок */
    .bookmark-item[container="true"][label="тут название папки в Панели закладок"] {
    list-style-image: url( 'тут код иконки в base64') !important;
    -moz-image-region: rect(0px 16px 16px 0px) !important;
    }

Отлично, спасибо.

3Jlou пишет

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

Это мелочь, можно, например, чуть расширить изображение иконки папки и вписать название прямо в нее.

Anton пишет



Работает. Я и не знал, что places - это букмарки ((
Кстати, все табы в каторые принудительно запихали окна имеют в заголовке:
2ddce5aeeb4a.gif
И полоска Fission показывает, будто таб что-то не может догрузить.
мне это не мешает, даже прикольно, но может им "витаминов" нехватает :)
Т.е. вопрос: это оттого, что таб не знает, что ему в фавикон назначить, или он действительно "недогружает" чего-то? Повторюсь, на полноценности работы в таком табе это никак пока не сказывалось.

Anton пишет

На замену переделанная из кнопки для Block Site новая:

Везде работает, но сайты с результатами поискового запроса почему-то не обрабатывает.
В принципе, несущественно, это, просто, при тестировании кнопы попались )
Спасибо, пригодиться.

Выделить код

Код:

getBrowser (). addTab ("chrome://browser/content/places/places.xul");

Отредактировано razoo (04-08-2009 21:23:33)

Отсутствует

 

№99904-08-2009 22:19:26

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

Re: Custom Buttons

razoo пишет

И полоска Fission показывает, будто таб что-то не может догрузить.
мне это не мешает, даже прикольно, но может им "витаминов" нехватает :)
Т.е. вопрос: это оттого, что таб не знает, что ему в фавикон назначить, или он действительно "недогружает" чего-то?

Я посмотрел на тестовом профиле 3.5 и FirefoxPortable 3.0.6 + Fission 1.0.9 - "недогруза" не увидел.
Фавиконка в places.xul вряд ли явно прописана, так что у таба она должна быть по умолчанию, и недозагрузка не из-за этого.
Не знаю, может быть из-за того, что какой-нибудь из скриптов "падает" на ошибке.

razoo пишет

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

Могу попробовать доделать, только нужен адрес, сам не найду.


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

Отсутствует

 

№100005-08-2009 10:00:03

razoo
Участник
 
Группа: Members
Зарегистрирован: 23-07-2009
Сообщений: 22
UA: Foxware 0.0

Re: Custom Buttons

Anton пишет

Могу попробовать доделать, только нужен адрес, сам не найду.

Любой Google-Яндекс.
Только тут скорее мой косяк: кнопка обрабатывает правильно и если нажать на саму кнопку то GoUp будет, но поскольку вариант для «вверх» у него только один – он не указывает его в меню дропмаркера. А я клацал по меню - видел, что оно пусто - и переходил на другой таб. Причем, маленький пустой квадратик, который бывает когда нет пунктов в меню - малозаметен, но пока он не закроется – я не могу перескочить на другой таб – при «скоростном кликаньи бывалого серфера» возникает «ложный эффект легкого подвисания». ))

Кстати, в Uppity есть еще така фича: пока таб не закрыт – в меню остается список возможных мест «вверх» и «вниз» до места с которого начал, а настоящее место нахождения – отмечено черным маркером.
9e07a6a146d1.png
Т.е. это, фактически хистори таба, только не реальные переходы, а возможные, и не «вперед-назад», а «вверх-вниз» :)
Но, что у них реально не по уму сделано: что чем выше GoUp – тем ниже он в меню )

Отредактировано razoo (05-08-2009 10:01:46)

Отсутствует

 

Board footer

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