Как получить содержимое, возвращаемое элементом link ref = "stylesheet"? - PullRequest
0 голосов
/ 24 февраля 2019

скажем, у меня есть эти 2 стиля

<head>
  <title>My page</title>
  <link rel="stylesheet" type="text/css" href="styles.css">    
  <style>
    //style here ...
  </style>
</head>

Чтобы получить содержание моего стиля, я сделаю что-то вроде:

var styleSheets = document.getElementsByTagName('style')[0].innerHTML;

Как насчет того, если я хочу получитьсодержимое того, что отправляется элементу <link>?Я хочу, чтобы стиль отправлялся на страницу как текст после обработки <link rel="stylesheet" type="text/css" href="styles.css">.

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

Вы можете попытаться использовать document.StyleSheets для получения содержимого.

Это дает вам объект StyleSheetList.Интересно поиграть с ним в браузере.

// document.styleSheets (StyleSheetList)
const mainCSS = document.styleSheets[0].cssRules; // (CSSRuleList) (I take the first link in this example)
let mainCSSText = '';
[...mainCSS].forEach(rule => mainCSSText += rule.cssText);

console.log(mainCSSText)

Вот пример для чтения документа. Таблицы стилей: codesandbox

У меня возникли некоторые проблемы с подключенным cdnCSS.

0 голосов
/ 24 февраля 2019

Вы можете сделать что-то вроде этого:

let rootStyle = document.documentElement.style;

Кроме того, если вы используете переменные CSS, вы можете получить и установить их, выполнив это:

let varname = rootStyle.getPropertyValue('--yourpropertyname')

rootStyle.setProperty('--yourpropertyname', yourvaluehere);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...