Страницы: 1
Всем привет.
Вот какой вопрос возник. Нужно каким-то образом получить список всех 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-документ посмотреть?
Продам: совесть, ответственность, вежливость, воспитанность. Недорого.
Отсутствует
init, а не проще непосредственно CSS-документ посмотреть?
А как это можно сделать программным способом? И чтобы без дополнительных запросов.
Отсутствует
ИМХО, если сайтов не много, то можно и руками, а если для каждого посещенного сайта, то тут уже надо ковырять API самого FF... В чем, признаться, я не силен.
Продам: совесть, ответственность, вежливость, воспитанность. Недорого.
Отсутствует
Страницы: 1