Hola.
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:
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;
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.
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?