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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№118-06-2010 16:47:43

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Как узнать текущий скин (его название) из расширения

Есть расширение, которое использует общие css на случай, если пользователи выберут себе какую-нибудь нестандартную тему (скин).
Однако, если пользователь не менял дефолтный скин, то расширение должно подтягивать свои css, а не "по умолчанию".
Есть возможность как-нибудь в расширении узнать, какой скин сейчас использует пользователь?

П.С. Искал по слову скин - ничего похожего не нашел.

Отсутствует

 

№218-06-2010 22:46:26

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

Re: Как узнать текущий скин (его название) из расширения

SnipeSP, вам чего-то такого хватит? —

Выделить код

Код:

if (gPrefService.getCharPref('general.skins.selectedSkin') == 'classic/1.0') 
{}

Отсутствует

 

№321-06-2010 12:27:53

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

Спасибо, то что надо.

Добавлено 21-06-2010 12:33:25
А есть где-нибудь по этому всему делу упорядоченная инфа?
Я сейчас пользуюсь https://developer.mozilla.org/ и, например, по запросу "gPrefService" нашлась только одна заметка.

Отсутствует

 

№421-06-2010 13:12:22

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

Re: Как узнать текущий скин (его название) из расширения

SnipeSP пишет

А есть где-нибудь по этому всему делу упорядоченная инфа?

"gPrefService" — это используемое в Firefox (про область видимости точно не скажу) сокращение для примерно следующего:

Выделить код

Код:

Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).QueryInterface(Components.interfaces.nsIPrefBranch2)

Под «всем этим делом» вы имеете в виду это?

Отсутствует

 

№521-06-2010 13:44:26

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

Все, что не XUL и не JS. Как вернее назвать? :/

Отсутствует

 

№621-06-2010 13:57:18

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

Re: Как узнать текущий скин (его название) из расширения

XPCOM, наверное. Я обычно пользуюсь гуглом, адресная строка при набитии в ней "nsI" вспоминает вот какие сайты:
http://mdn.beonex.com/
http://doxygen.db48x.net/
http://www.oxymoronical.com/

Отредактировано luitzen (21-06-2010 14:58:57)

Отсутствует

 

№721-06-2010 14:49:23

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

Еще раз спасибо.

Отсутствует

 

№805-07-2010 16:46:21

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

Ну вот. :(
Все сделал, неделю поработало, Мозилла сделала другие скины. Теперь фоновая картинка меняется, а PrefService.getCharPref('general.skins.selectedSkin') теперь всегда равно 'classic/1.0'.
Можно как-то теперь узнать, поменялся фон или нет?

Отсутствует

 

№905-07-2010 17:52:53

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

Re: Как узнать текущий скин (его название) из расширения

Вы про персонасы, наверное? Посмотрите в about:config параметры, содержащие "lightweightThemes" в названии.

Вот ещё по теме.

Отредактировано luitzen (05-07-2010 17:59:07)

Отсутствует

 

№1007-07-2010 15:05:12

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

Вроде получилось, вроде работает. Одна беда, у меня аддон располагается над статусбаром, а статусбару в фон подставляется картинка из скина.
Картинку я саму выцепил и поставил в фоном в аддон, однако её еще надо сместить.
Можно как-то узнать высоту статусбара?

И еще проблема. В конфиге написаны все установленные темы, а которая в данный момент активна - нет.

Отредактировано SnipeSP (07-07-2010 15:21:24)

Отсутствует

 

№1107-07-2010 15:34:39

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

Re: Как узнать текущий скин (его название) из расширения

SnipeSP пишет

Вроде получилось, вроде работает. Одна беда, у меня аддон располагается над статусбаром, а статусбару в фон подставляется картинка из скина.
Картинку я саму выцепил и поставил в фоном в аддон, однако её еще надо сместить.

Не очень понимаю, что вы хотите. Но уже есть подозрения, что это не нужно или может быть сделано другими способами :).

SnipeSP пишет

Можно как-то узнать высоту статусбара?

Выделить код

Код:

with (document) {
var myHeight = defaultView.getComputedStyle(getElementById('status-bar'), null).getPropertyValue('height');
}
SnipeSP пишет

И еще проблема. В конфиге написаны все установленные темы, а которая в данный момент активна - нет.

По-видимому, та, которая указана первой, является активной. Но это только если lightweightThemes.isThemeSelected :).

Отредактировано luitzen (07-07-2010 15:49:54)

Отсутствует

 

№1207-07-2010 16:03:11

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

luitzen пишет

Не очень понимаю, что вы хотите. Но уже есть подозрения, что это не нужно или может быть сделано другими способами

Когда ставится скин у статусбара меняется фон на картинку из скина.
Т.к. аддон располагается сразу над статусбаром, то эта фоновая картинка должна переходить и на него.
Как еще это можно реализовать?

Отсутствует

 

№1307-07-2010 17:19:38

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

Re: Как узнать текущий скин (его название) из расширения

SnipeSP пишет

Т.к. аддон располагается сразу над статусбаром, то эта фоновая картинка должна переходить и на него.

Гм, сложно это и вряд ли нужно, наверное.

Я бы предложил поместить в элемент, добавляемый вашим аддоном, фоновую картинку из статусбара, обременив её CSS-свойством clip.
Значение этого clip посчитать как-то можно, но при определёных вариантах расположения вашего элемента его придётся пересчитывать постоянно :(.

Отредактировано luitzen (07-07-2010 17:21:57)

Отсутствует

 

№1408-07-2010 10:29:11

SnipeSP
Участник
 
Группа: Members
Зарегистрирован: 18-06-2010
Сообщений: 11
UA: Firefox 3.6

Re: Как узнать текущий скин (его название) из расширения

luitzen пишет
SnipeSP пишет

Т.к. аддон располагается сразу над статусбаром, то эта фоновая картинка должна переходить и на него.

Гм, сложно это и вряд ли нужно, наверное.

Я бы предложил поместить в элемент, добавляемый вашим аддоном, фоновую картинку из статусбара, обременив её CSS-свойством clip.
Значение этого clip посчитать как-то можно, но при определёных вариантах расположения вашего элемента его придётся пересчитывать постоянно :(.

В общем сделал ту же картинку что и в статусбаре со смещением на 70%, с большей частью скинов получилось стык в стык, а в остальных немного заметен переход, но в принципе терпимо.

Спасибо за оперативную помощь. :beer:

Отредактировано SnipeSP (08-07-2010 10:30:16)

Отсутствует

 

Board footer

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