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

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

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

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

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

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

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

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

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