Какой метод стеганографии подходит для этой проблемы?

Кросс-браузерное решение без манипуляций с DOM, приведенное выше, не работает, потому что оно дает первое правило соответствия, а не последнее. Последнее правило сопоставления является тем, которое применяется. Вот рабочая версия:

function getStyleRuleValue(style, selector) {
  let value = null;
  for (let i = 0; i < document.styleSheets.length; i++) {
    const mysheet = document.styleSheets[i];
    const myrules = mysheet.cssRules ? mysheet.cssRules : mysheet.rules;
    for (let j = 0; j < myrules.length; j++) {
      if (myrules[j].selectorText && 
          myrules[j].selectorText.toLowerCase() === selector) {
        value =  myrules[j].style[style];
      }
    }
  }
  return value;
}  

Однако этот простой поиск не будет работать в случае сложных селекторов.

0
задан Noor A Shuvo 11 March 2019 в 21:43
поделиться