En fin, pensé que nunca tendría que pedir ayuda por un tema como éste, pero no me veo con salidas.
LLevo toda la mañana y toda la tarde para resolver un puñetero problema que los majos de Microsoft me están dando con su Explorer 7 (supongo que los demás también).
El caso es que tengo la página estructurada así:
En el header implemento los archivos .js para los incluir Prototype, SaC y el archivo ajax.js, que no es más que un archivo con unas cuantas funciones y unas peticiones xmlhttp.
Código PHP:
<script src="scripts/lib/prototype.js" type="text/javascript"></script>
<script src="scripts/lib/scriptaculous.js?load=effects" type="text/javascript"></script>
<script type="text/javascript" src="scripts/ajax.js"></script>
Y el archivo ajax .js tiene lo siguiente:
Código PHP:
window.onload = iniciar;
function iniciar(){
alert(estiloActivo());
alert(tipoNavegador());
$('tagboard').hide();
setTimeout("quitarCargando()",500);
}
Los alerts los tengo ahi tan solo para probar que las funciones retornan lo que quiero, nada más. Si los quito la cosa sigue igual.
La cuestion es que funciona en Firefox, Opera, Safari y Chrome. Pero por alguna extraña razón, en IExplorer, no. Qué raro, ¿verdad?
Probé poniendo tambien:
Código PHP:
window.onload = function(){
iniciar();
}
y
Código PHP:
window.onload = function(){
alert(estiloActivo());
alert(tipoNavegador());
$('tagboard').hide();
setTimeout("quitarCargando()",500);
}
Incluso he llegado a poner el engendro de
Código PHP:
<body onload="iniciar();">
Pero tampoco funcionaba.
Así que yo al menos llegué a la conclusión de que IE no me reconoce el archivo ajax.js. Y no se porqué, cuando el resto de navegadores (incluso Konqueror, que se me olvidó mencionarlo) lo leen y ejecutan la órdenes perfectamente. La única manera de que funcione en IE es escribiendo TODO el codigo JS en el index, lo que para mi no es una opción a tener en cuenta, pues me lía y ensucia el código HTML.
Ningún otro archivo posee el evento window.onload.
Alguien para ayudarme??