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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№130-06-2006 23:52:16

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Как перехватить загрузку css и подставить свой файл css

Есть определённый сайт, форум. Хочу сделать расширение чтобы можно было с помощью него менять стиль форума.
Его stylesheet подгружается такой строчкой
<style type="text/css" media="all">@import url(http://diesel.elcat.kg/style_images/css_6.css);</style>

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

Может есть более простой способ изменить стиль? в частности цвета

Отредактировано Sunrain (01-07-2006 11:46:56)


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№201-07-2006 12:14:55

SOb
Участник
 
Группа: Members
Зарегистрирован: 26-03-2005
Сообщений: 93

Re: Как перехватить загрузку css и подставить свой файл css

В зависимости от версии FF есть разные варианты решения.
Какая версия?

P.S.: Что даёт поиск по форуму?

Отсутствует

 

№301-07-2006 12:53:24

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

SOb
версия 1.5.0.4
расширение ориентированно на 1.5хх

Все подобные темы перечитал, с самого начала плюс др источники. Максимум что нашёл это как можно перехватить начало загрузки страницы (наткнулся на страничку где автор рассказывает как он делал расширение imglikeopera). А вот как перехватить загрузку css ни где не встречал.


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№401-07-2006 13:10:32

SOb
Участник
 
Группа: Members
Зарегистрирован: 26-03-2005
Сообщений: 93

Re: Как перехватить загрузку css и подставить свой файл css

Посмотри, как сделан Stylish и почитай про принцип работы userContent.css… может и не нужно ничего на лету подменять?

Отсутствует

 

№501-07-2006 13:53:05

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

SOb
да, userContent.css меня обнадёживает что можно менять стиль, пока не нашёл как он это делает, буду искать.
Не знаю что такое Stylish, найду и посмотрю что и как он делает, спасибо за совет :)
upgrate
нашёл что такое Stylish, буду изучать

Отредактировано Sunrain (01-07-2006 13:58:19)


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№601-07-2006 14:08:08

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Как перехватить загрузку css и подставить свой файл css

да, userContent.css меня обнадёживает что можно менять стиль, пока не нашёл как он это делает, буду искать.

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


От оно че!

Отсутствует

 

№701-07-2006 14:37:23

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

igorsub

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

И как подобное можно сделать из расширения?

Stylish, интересная штука, похоже какразтаки то что нужно.


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№801-07-2006 14:50:17

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Как перехватить загрузку css и подставить свой файл css

И как подобное можно сделать из расширения?

Это не расширение, это файл.
http://forum.mozilla.ru/doku.php?id=firefox:tips:usercontent.css

Правда он общего действия, то есть если ты укажешь, например,

Выделить код

Код:

H1 { font-size: 200px; }

то настройка будет действовать на всех страницах, где есть селектор H1. Для конкретизации лучше использовать расширение Stylish.


От оно че!

Отсутствует

 

№901-07-2006 15:20:31

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

igorsub
Я знаю что это файл :)
Но мне интересен механизм его действия (как и на каком этапе изменяется стиль страницы), чтобы повторить этот механизм в своём расширении.
Узнал про Stylish, теперь он мне будет наглядным примером :)
А может уже не чего не буду мудрить, Stylish делает всё что нужно, только один странный глюк, изменения не вступают в силу после перезагрузки страницы, нужно включить/выключить  фильтр чтобы изменения вступили в силу. Может этот глюк только у меня, из-за медленного канала (28.8 Кбит/с) или ещё чего то.
Написал об этом тут, чтобы разобратся
http://forum.mozilla.ru/viewtopic.php?pid=118589#p118589


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№1001-07-2006 16:23:05

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Как перехватить загрузку css и подставить свой файл css

Может этот глюк только у меня, из-за медленного канала (28.8 Кбит/с)

Сомневаюсь, что подстановка своего стиля имеет какое-то отношение к соединению с сетью. ;) Это, скорей, особенность расширения, неприятная особенность. :/


От оно че!

Отсутствует

 

№1101-07-2006 16:36:56

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

igorsub
Так это нормально? у всех так?
Интересно как его устранить?
в смысле логически, например
1). Если включать фильтр после загрузки страницы, то она будет неприятно "дёргатся" и "мигать", особенно это сильно заметно будет на медленных каналах. Но хоть чтото.
2). Если включать в начале загрузки страницы, то наверно не будет изменений, потому что не к чему их будет делать, элементы ещё не загрузились.
3) Идеально, если по мере загрузки элементов страницы меняется их стиль, но как это сделать?

Интересно, как это реализовано в Опере, на каком этапе применяются их фильтры.


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№1201-07-2006 18:12:49

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

А может уже не чего не буду мудрить, Stylish делает всё что нужно, только один странный глюк, изменения не вступают в силу после перезагрузки страницы, нужно включить/выключить  фильтр чтобы изменения вступили в силу.

не все изменения пропадают, например изменение цвета текста в body, остаётся, но в body много div'ов (весь форум фактически построен на div'ах) вот изменения в них пропадают.
Попробовал тежи самые изменения сделать через  userContent.css, тоже самое (точнее то что касается div'ов никаких изменений)

Можно подумать что это баг не просто Stylish'а, а Firefox'а, точнее механизма изменения стиля.

Отредактировано Sunrain (01-07-2006 18:27:58)


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№1301-07-2006 19:24:27

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Как перехватить загрузку css и подставить свой файл css

Попробовал тежи самые изменения сделать через  userContent.css, тоже самое (точнее то что касается div'ов никаких изменений)

Чтобы начали применяться пользовательские стили, нужно после каждого значения дописывать !important. Это важно!


От оно че!

Отсутствует

 

№1401-07-2006 20:19:31

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

igorsub
Большое спасибо, всё работает !! :)

Кстате про userContent.css

Правда он общего действия, то есть если ты укажешь, например,

Выделить код

Код:

Код:
H1 { font-size: 200px; }

то настройка будет действовать на всех страницах, где есть селектор H1. Для конкретизации лучше использовать расширение Stylish.

Чтобы настройки действовали по доменам или даже на определённые страницы, то можно сделать также как и в Stylish

Выделить код

Код:

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("namedomain.com") {
...
}

или

Выделить код

Код:

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url("http://forum.mozilla.ru/edit.php?id=118622") {
...
}

Отредактировано Sunrain (01-07-2006 20:29:07)


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№1501-07-2006 22:02:42

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Как перехватить загрузку css и подставить свой файл css

Чтобы настройки действовали по доменам или даже на определённые страницы, то можно сделать также как и в Stylish

Кстати, я как-то не подумал вставить в userChrome.css код из Stylish. Спасибо за подсказку. ;)


От оно че!

Отсутствует

 

№1605-07-2006 17:48:50

hasherfrog
Участник
 
Группа: Members
Зарегистрирован: 17-06-2005
Сообщений: 60

Re: Как перехватить загрузку css и подставить свой файл css

Маленький пример:
http://fforum.kochegarov.com/index.php?showtopic=12893&view=findpost&p=157972

Отсутствует

 

№1715-07-2006 12:29:23

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

Маленький пример:

Тоже маленький пример, точнее описание как с помощью Stylish'a разукрасить сайт, на примере моего любимого форума :)
http://diesel.elcat.kg/index.php?automodule=blog&blogid=5&showentry=1673


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№1815-07-2006 15:11:25

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508

Re: Как перехватить загрузку css и подставить свой файл css

Поправка - лучше пишите не DOM, а DOM Inspector - потому что DOM это механизм, имеющийся в браузере по умолчанию - система адресации и структуры страницы.
Инструкция вполне толковая.

Отсутствует

 

№1915-07-2006 15:34:31

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

Al_H
Исправил


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

№2016-07-2006 00:30:52

igorsub
бедняжечка бедняжная
 
Группа: Extensions
Откуда: Мурманск
Зарегистрирован: 03-04-2005
Сообщений: 6373
Веб-сайт

Re: Как перехватить загрузку css и подставить свой файл css

Еще желательно заменить словосочетание "кустом установка" на что-то более удобоваримое.


От оно че!

Отсутствует

 

№2116-07-2006 11:20:39

Юко
Участник
 
Группа: Members
Откуда: Бишкек
Зарегистрирован: 29-06-2006
Сообщений: 62

Re: Как перехватить загрузку css и подставить свой файл css

Еще желательно заменить словосочетание "кустом установка" на что-то более удобоваримое.

Если писать настоящее грамотное пособие, то там много чего нужно исправить :)
"кустом установка" - исправил.


Мы мирные люди, За мир мы воююем,
Но мира не будет, Пока мы враждуем.
©

Отсутствует

 

Board footer

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