style.styleSheet.cssText не работает в IE 9 - PullRequest
0 голосов
/ 10 апреля 2019

Что лучше всего похоже на функцию ниже,

, которая работает во всех браузерах и любой ее версии, особенно в IE.

var head  = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
css = "some style here"
style.type = 'text/css';

if (style.styleSheet){
  #Problem here: This is works for IE8 and below BUT not in higher version.
  style.styleSheet.cssText = css;
} else {
  style.appendChild(document.createTextNode(css));
}

head.appendChild(style);

1 Ответ

1 голос
/ 10 апреля 2019

Может быть, попробуйте загрузить CSS прямо в заголовок, если нет объекта css.styleSheet.

Не было времени тестировать, но я думаю, что это должно работать.Если у вас есть какие-либо вопросы, задавайте.:)

<script type="text/javascript">
function appendStyle(styles) {
  var css = document.createElement('style');
  css.type = 'text/css';

  if (css.styleSheet) css.styleSheet.cssText = styles;
  else css.appendChild(document.createTextNode(styles));

  document.getElementsByTagName("head")[0].appendChild(css);
}

var styles = '#header { color: white }';

window.onload = function() { appendStyle(styles) };
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...