2013-09-20 2 views
0

Я программно (JS) переписываю стили для веб-страницы. (У меня есть копия страницы и все ресурсы, хранящиеся локально на сервере.) Как только я закончил переписывать таблицы стилей, я хотел бы сохранить измененные версии на диск.Получить текст измененной таблицы стилей (Firefox)

Я использую Webdriver для запуска своего собственного JS на странице, пока он загружен в Firefox.

В IE it appears вы можете получить доступ к свойству stylesheet.cssText, чтобы получить источник таблицы стилей, хранящийся в строке JS, чего было бы достаточно. Тем не менее, у меня нет возможности использовать IE, поэтому я хотел бы выяснить способ достижения той же цели в Firefox.

ответ

0

Вам придется использовать что-то вроде следующего (fiddle):

for (var si = 0; si < document.styleSheets.length; ++si) { 
    var ss = document.styleSheets[si]; 

    var href = ss.href || "<inline>"; 
    var rules = []; 
    for (var ri = 0; ri < ss.cssRules.length; ++ri) { 
     rules.push(ss.cssRules[ri].cssText); 
    } 
} 

Прочитайте документацию MDN, в частности "Using dynamic styling information".

+0

Прямо сейчас, я делаю это и конкатенация правил cssText вместе, чтобы сформировать одну большую строку, которую я сохраняю на диск в качестве файла CSS. Знаете ли вы, что это приведет к потере какой-либо информации из исходного файла CSS? До сих пор он работает нормально. – gilbo

+0

Не следует терять информацию. Но может преобразовать некоторые вещи или добавить дополнительные вещи: см., Например, 'html background' в моей скрипке;) IIRC инструменты веб-разработчика (и некоторые другие коды) также используют этот API. – nmaier

Смежные вопросы