Hace poco completé una función para detectar páginas en un sitemap e insertar un css en caso afirmativo.
Es así:
Código:
<?php $DomDocument = new DOMDocument(); $DomDocument->preserveWhiteSpace = false; $DomDocument->load('http://www. sitio .com/index.php?option=com_xmap&view=xml&tmpl=component&id=1'); $DomNodeList = $DomDocument->getElementsByTagName('loc'); foreach($DomNodeList as $url) { $urls[] = $url->nodeValue; } // Secciones; if(in_array("http://www.sitio .com/es/categoria/categoria-a",$urls)){ $css= '<style type="text/css">ul#areas li#ZAF, path#jvectormap1_ZAF {display: inherit;}</style>'; } echo $css;
Después hay muchas más funciones, por razón de las múltiples categorías:
Código:
if(in_array("http://www.sitio .com/es/categoria/categoria-b",$urls)){ $css= '<style type="text/css">ul#areas li#ZAF, path#jvectormap1_ZAF {display: inherit;}</style>'; } echo $css; ----- etc.
Funciona perfectamente.
Terminada la web me meto en corregir formatos en los navegadores.
Chrome, FF y Opera perfectos. Y también Internet Explorer 9. Sin problemas.
Me meto en Internet Explorer 8 (ojalá se muera pronto como el 6) y me sale la página en blanco.
Después de un millón de vueltas por la web, sustituyendo esto y aquello, descubro que el fallo comienza cuando llegas a un número de terminado de funciones:
Código:
Creyendo que hay algún defecto en alguna de ellas, finalmente se trata de que parace que no soporta más que un número de archivos css o reglas.if(in_array("http://www.sitio .com/es/categoria/categoria-b",$urls)){ $css= '<style type="text/css">ul#areas li#ZAF, path#jvectormap1_ZAF {display: inherit;}</style>'; } echo $css;
Acabo de descubrir que hay un límite de 31 styles en cada página en IE8.
O eso creo.
¿Me podéis confirmar si es cierto?