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

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

№128-11-2008 12:47:40

lemax
Участник
 
Группа: Members
Зарегистрирован: 12-11-2008
Сообщений: 36
UA: Epiphany 2.22

Progressmeter. Изменение внешнего вида javascript-ом.

Как измененять расцветку progressmeter javascript-ом?
Спасибо.

Отсутствует

 

№228-11-2008 15:28:28

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: Progressmeter. Изменение внешнего вида javascript-ом.

а разве он использует не системный стиль?

Отсутствует

 

№328-11-2008 16:12:31

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

Re: Progressmeter. Изменение внешнего вида javascript-ом.

Shutnik пишет

а разве он использует не системный стиль?

Угу. Но можно и сменить.
У меня вот такая штука работала:

Выделить код

Код:

/* CacheViewer (а иначе после заполнения полоски текст не читается...) */
@-moz-document url(chrome://cacheviewer/content/cacheviewer.xul) {
	.progress-bar {
		-moz-appearance: none !important;
		background-color: #999 !important;
	}
}

Т.е. надо сделать, например, так:

Выделить код

Код:

var progressmeter = ...;
progressmeter.className = "myClass";

А в стилях прописать

Выделить код

Код:

progressmeter.myClass > .progress-bar {
	-moz-appearance: none !important;
	background-color: #999 !important;
}

Или играться с динамическим добавлением CSS (styles.insertRule – styles.deleteRule) / получением требующегося элемента через что-нибудь вроде getAnonymousNodes (getAnonymousElementByAttribute).

Отредактировано Infocatcher (28-11-2008 16:17:14)


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

Отсутствует

 

№428-11-2008 17:08:09

lemax
Участник
 
Группа: Members
Зарегистрирован: 12-11-2008
Сообщений: 36
UA: Firefox 3.0

Re: Progressmeter. Изменение внешнего вида javascript-ом.

Спасибо. Идея работает.

Отсутствует

 

№528-11-2008 18:19:10

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 3.0

Re: Progressmeter. Изменение внешнего вида javascript-ом.

Интересно, а возможен ли такой или подобный финт для обеспечения поддержки раскраски полос прокрутки? Было бы очень хорошо...

Отсутствует

 

№628-11-2008 19:13:35

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

Re: Progressmeter. Изменение внешнего вида javascript-ом.

MySh пишет

подобный финт для обеспечения поддержки раскраски полос прокрутки?

В принципе, все по-прежнему.
Т.е. нужно:
0) распарсить все стили (Text Shadow, вроде, именно это и делает) и найти стили для полос прокрутки;
1) на основании найденного добавить свой стиль вида
<оригинальные_селекторы> (к чему применить) { фон_полосы_прокрутки: заданный_цвет; }

Причем не ясно, куда именно добавлять стили – если в оригинальную страничку, то не факт, что они заработают (а иначе уже был бы CSS-хак для раскраски в Firefox).
Правда, можно воспользоваться методом от Stylish и привязывать добавляемый стиль к нужному URL'у. Но при этом нужно делать механизм удаления стиля при выгрузке объекта window, для которого он работал (а иначе такие безобразия чреваты тормозами и утечками памяти).
А скроллбары перекрашиваются, да – многочисленные темы оформления это подтверждают.

Но это только теория.

Так что нужен понимающий JavaScript энтузиаст, желающий получить оную фичу, да еще и умеющий при этом писать расширения.

Добавлено 28-11-2008 19:17:29
Причем это только для прописанных в CSS цветов, а ведь еще можно менять стиль из скрипта.

Отредактировано Infocatcher (28-11-2008 19:15:19)


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

Отсутствует

 

№728-11-2008 21:31:35

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 3.0

Re: Progressmeter. Изменение внешнего вида javascript-ом.

Infocatcher пишет

Правда, можно воспользоваться методом от Stylish и привязывать добавляемый стиль к нужному URL'у

Я пробовал ставить стили для Stylish, с которыми всё якобы должно работать, но оно не работало... :(

Infocatcher пишет

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

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

Infocatcher пишет

Так что нужен понимающий JavaScript энтузиаст, желающий получить оную фичу, да еще и умеющий при этом писать расширения.

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

Отсутствует

 

Board footer

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