Pregunta

Tengo un problema con agregar un elemento de estilo dinámico con las declaraciones de @Import para IE.Prueba esto:

var string = '@import url(test.css)';
var style = document.createElement('style');

if (style.styleSheet) { // IE
    style.styleSheet.cssText = string;
} else {
    var cssText = document.createTextNode(string);
    style.appendChild(cssText);
}

document.getElementsByTagName('head')[0].appendChild(style);

Esto funciona para FF / Chrome, pero no es IE.Parece reconocer a style.styleSheets.imports, pero no aplicará la hoja de estilos importada.¿Es este un error o limitación?

¿Fue útil?

Solución

Muchos navegadores mayores no pueden procesar formas variables de la Directiva @Import, esto se puede usar para ocultar CSS de ellos.Comprobar http://www.w3development.de/css/hide_css_from_browsers/import/ Para más detalles.

Las directivas @import deben venir primero en una hoja de estilo, o si sean ignoradas.Sin embargo, es decir, no ignora las directivas extraviadas @import.

Editar : consulte el Método Addimport para inyectar hojas de estilo en IE.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top