pagina llamar internet funciona enlazar con cargar carga bootstrap bien asincrona javascript jquery html css internet-explorer

javascript - internet - llamar css en laravel



Cargar dinĂ¡micamente hojas de estilo css no funciona en IE (6)

Cargo dinámicamente una hoja de estilo CSS (con un poco de ayuda de jQuery) como esta:

var head = document.getElementsByTagName(''head'')[0]; $(document.createElement(''link'')) .attr({ type: ''text/css'', href: ''../../mz/mz.css'', rel: ''stylesheet'' }) .appendTo(head);

Esto funciona bien en Firefox y Google Chrome, pero no en IE.

¿Alguna ayuda? Gracias


Abra ie8 sin el depurador abierto. Cuando llegue después del punto de la hoja de estilos dinámica ... abra el depurador y listo, deberían estar allí.


Esto también parece funcionar en IE:

var link = document.createElement(''link''); link.rel = ''stylesheet''; link.type = ''text/css''; link.href = ''/includes/style.css''; document.getElementsByTagName(''head'')[0].appendChild(link);


Esto también podría tener algo que ver con eso. Tomado del artículo de Soporte de Microsoft :

Los estilos en una página web faltan o parecen incorrectos cuando la página se carga en las versiones de Microsoft Internet Explorer ...

... Este problema se produce porque las siguientes condiciones son ciertas en Internet Explorer:

  • No se aplican todas las etiquetas de estilo después de las primeras 31 etiquetas de estilo.

  • Todas las reglas de estilo después de las primeras reglas 4.095 no se aplican.

  • En páginas que usan la regla @import para importar continuamente hojas de estilo externas que importan otras hojas de estilo, se ignoran las hojas de estilo que tienen más de tres niveles de profundidad.


Necesitas configurar el href attr último y solo después de que el elemento de enlace se anexa a la cabeza:

$(''<link>'') .appendTo(''head'') .attr({type : ''text/css'', rel : ''stylesheet''}) .attr(''href'', ''/css/your_css_file.css'');


Parece que

$(''<link rel="stylesheet" type="text/css" href="'' + url + ''" />'').appendTo(''head'');

funciona también en IE siempre que la URL sea un URI totalmente calificado, incluido el protocolo ...


Una vez que IE ha procesado todos los estilos cargados con la página, la única manera confiable de agregar otra hoja de estilo es con document.createStyleSheet(url)

Consulte el artículo de MSDN en createStyleSheet para obtener más información.

url = ''style.css''; if (document.createStyleSheet) { document.createStyleSheet(url); } else { $(''<link rel="stylesheet" type="text/css" href="'' + url + ''" />'').appendTo(''head''); }