Federico MP wrote:
> Primeros pasos con Javascript, sepan disculpar.
> En Internet Explorer 6 SP2, la siguiente linea hace aparecer la barra de  
> información (una especie de advertencia de seguridad):
>
> window.onload = foo;
>
> donde foo es una función.
> Pero por otro lado, <body onload="foo()" no produce ninguna advertencia.
>
> Por favor, diganme que burlar a Internet Explorer no es tan sencillo como  
> parece.
>
>   
Federico:
1) Existe una lista de javascript, llamada javaEScript en este mismo 
servidor.

2) Tu mensaje, por lo tanto, es off-topic y deberías haberlo marcado de 
esa forma.

3) Cuando asignás haciendo foo() lo que asignás es el resultado de la 
función y no la función en sí. Es decir, de la segunda forma, estás 
ejecutando la función foo() y asignándo ese resultado a window.onload

Podrías probar de esta forma:

window.onload = function () {
    foo();
}

4) Otra cosita: usar window.onload no es muy DOM-ish, deberías usar 
métodos como document.addEventListener y attachEvent (para IE y los 
demás, respectivamente) ... pero estos no son cross-browser.

Por lo tanto yo me hice una función que trabaja bastante bién con la 
mayoría de los navegadores en los que la he probado, y en los que no 
funciona (ej: ie4) no causa ningún error ni advertencia molesta, tiene 
un alert pero es solo para debugging, una vez que lo deshabilitás no 
genera errores de código inválido.


function addListener(obj,evt,func) {
    if (obj.attachEvent)
        obj.attachEvent('on' + evt, func);

    else {
        if (obj.addEventListener) {
            obj.addEventListener(evt,func,false);
        }
        else {
            if (obj.eval) {
                obj["on"+evt] = func;
            } else {
                alert("Error adding listener\nObject:"+obj+" 
ID:"+obj.id+" Name:"+obj.name+" TagName:"+obj.tagName+"\nEvent:"+evt);
            }
        }
    }
}


Se usa de la siguiente manera:
addListener(obj objeto,str evento,obj funcion);

ejemplo:
addListener(window,"load",foo);

Espero que te sea útil.

Martin.

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a [email protected]
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a