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

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

№115-04-2012 01:02:49

init
Участник
 
Группа: Members
Зарегистрирован: 14-04-2012
Сообщений: 42
UA: Firefox 11.0

Как получить список всех CSS-правил в документе?

Всем привет.
Вот какой вопрос возник. Нужно каким-то образом получить список всех CSS-правил, которые прописаны в текущем документе, чтобы вычленить из них те, которые не применяются.
Про document.styleSheets знаю, но это не подойдет - там содержатся только те правила, которые браузер уже распознал и применил, а нужны как раз те, которые он не понимает - различные -webkit-, -o-, -ms-, IE 5.0-8.0 only и так далее.
Пока единственное, что приходит в голову, это перебирать код страницы на предмет тега style или link, но ведь это значит, что для каждого внешне подгружаемого стиля придется делать еще один запрос, а этого бы не хотелось.
Копал в сторону nsIStyleRuleProcessor и nsIStyleRule (отсюда), но то ли это все-таки не то, что нужно, то ли я чего-то не понимаю.

Зачем это надо - хочется знать, сколько vendor-prefixed-свойств применяется на посещаемых страницах и для каких элементов (навеяно вот этими статьями: Каждый раз, когда вы выдаете проприетарную фичу за CSS3 — умирает котенок, W3C хочет бороться с засильем WebKit в мобильном вебе).

Отсутствует

 

№215-04-2012 05:12:22

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 12.0

Re: Как получить список всех CSS-правил в документе?

init
Пробежаться по документу, собрать все ноды, к каждой применить window.getComputedStyle. Только на выходе вы получите очень большой объем правил. Очень.

Отсутствует

 

№315-04-2012 18:41:45

init
Участник
 
Группа: Members
Зарегистрирован: 14-04-2012
Сообщений: 42
UA: Firefox 11.0

Re: Как получить список всех CSS-правил в документе?

hydrolizer
Спасибо, но это тоже не подойдет - там тоже уже примененные к элементу стили, которые распознал браузер, а мне нужны как раз те, которые он распознать не может - например эти или вот эти. То есть грубо говоря, нужно каким-то образом пристроиться к парсеру стилей страниц и подбирать за ним ошмётки (и правила и селекторы), до того как они попадут в консоль ошибок. Ну или хотя бы доставать стили из внешних файлов как-то ещё, но без лишних запросов.

Отсутствует

 

№415-04-2012 19:33:56

ПротопопулуS
2,4716 THz на каждое из 64-х ядер...
 
Группа: Members
Откуда: Местное я
Зарегистрирован: 16-12-2008
Сообщений: 1515
UA: Chrome 17.0

Re: Как получить список всех CSS-правил в документе?

init, а не проще непосредственно CSS-документ посмотреть?


Продам: совесть, ответственность, вежливость, воспитанность. Недорого.

Отсутствует

 

№516-04-2012 01:24:13

init
Участник
 
Группа: Members
Зарегистрирован: 14-04-2012
Сообщений: 42
UA: Firefox 11.0

Re: Как получить список всех CSS-правил в документе?

ПротопопулуS пишет

init, а не проще непосредственно CSS-документ посмотреть?

А как это можно сделать программным способом? И чтобы без дополнительных запросов.

Отсутствует

 

№616-04-2012 09:30:20

ПротопопулуS
2,4716 THz на каждое из 64-х ядер...
 
Группа: Members
Откуда: Местное я
Зарегистрирован: 16-12-2008
Сообщений: 1515
UA: Chrome 17.0

Re: Как получить список всех CSS-правил в документе?

ИМХО, если сайтов не много, то можно и руками, а если для каждого посещенного сайта, то тут уже надо ковырять API самого FF... В чем, признаться, я не силен.


Продам: совесть, ответственность, вежливость, воспитанность. Недорого.

Отсутствует

 

Board footer

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