[OT] añadir funciones a onload

15/09/2006 - 13:16 por Piolin Net | Informe spam
Alo!

estoy añadiendo funciones dinamicamente al evento onlad del body asi:

document.body.onload = function(){mostrar_datos_mensaje_espera()};

va bien. el problema lo encuentro cuando el onload del body ya tenia
definido llamar a otra funcion como <body onload='otra_funcion()'>. digamos
que me machaca la anterior.
¿como puedo agragar nuevas funciones sin perder las anteriores?

Preguntas similare

Leer las respuestas

#1 Dani Castillo
15/09/2006 - 13:48 | Informe spam
separandolas con punto y coma, o creando una funcion que llame a todas las
demas (normalmente mas claro visualmente)

document.body.onload = function(){carga()};
function carga() {
mostrar_datos_mensaje_espera();
funcion2()
funcion3()
}


___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
Alo!

estoy añadiendo funciones dinamicamente al evento onlad del body asi:

document.body.onload = function(){mostrar_datos_mensaje_espera()};

va bien. el problema lo encuentro cuando el onload del body ya tenia
definido llamar a otra funcion como <body onload='otra_funcion()'>.
digamos
que me machaca la anterior.
¿como puedo agragar nuevas funciones sin perder las anteriores?
Respuesta Responder a este mensaje
#2 Piolin Net
15/09/2006 - 15:42 | Informe spam
Si , eso ya lo tenia en cuenta pero necesito poder añadir funciones cuando ya
haya alguna con anterioridad ... sera algo dinamco sin concimineto de lo que
habia antes.

garcias.

"Dani Castillo" wrote:

separandolas con punto y coma, o creando una funcion que llame a todas las
demas (normalmente mas claro visualmente)

document.body.onload = function(){carga()};
function carga() {
mostrar_datos_mensaje_espera();
funcion2()
funcion3()
}


___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
> Alo!
>
> estoy añadiendo funciones dinamicamente al evento onlad del body asi:
>
> document.body.onload = function(){mostrar_datos_mensaje_espera()};
>
> va bien. el problema lo encuentro cuando el onload del body ya tenia
> definido llamar a otra funcion como <body onload='otra_funcion()'>.
> digamos
> que me machaca la anterior.
> ¿como puedo agragar nuevas funciones sin perder las anteriores?



Respuesta Responder a este mensaje
#3 Dani Castillo
15/09/2006 - 16:17 | Informe spam
Es mas complicado asi, ¿puedes montar en lugar de directamente sobre onload
sobre una variable?

algo como

var cargatxt

cargatxt='function1();';
.
cargatxt+='function2();';

ojo a las comillas y el punto y coma, asi al final tendras una cadena de
caracteres y en el onload podras poner algo como
document.body.onload = function(){carga()};
function carga() {
eval(cargatxt)
}
que ejecuta todo lo introducido


otra opcion seria ir acumulando en un vector las distintas funciones a
llamar

si realmente no tienes forma de saber si habia algo en el onload, podrias
tambien guardarlo en una variable y luego ejecutarlo, si es solo un paso (no
lo he probado escribo de cabeza) :

var anterior
anterior=document.body.onload
document.body.onload = function(){carga()};
function carga() {
' aqui haces lo que quieres hacer ahora
' y llamas a la antigua
anterior()
}


o probar con una idea parecida a hacerte un vector de funciones "anteriores"
donde vas almacenando cada vez

___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
Si , eso ya lo tenia en cuenta pero necesito poder añadir funciones cuando
ya
haya alguna con anterioridad ... sera algo dinamco sin concimineto de lo
que
habia antes.

garcias.

"Dani Castillo" wrote:

separandolas con punto y coma, o creando una funcion que llame a todas
las
demas (normalmente mas claro visualmente)

document.body.onload = function(){carga()};
function carga() {
mostrar_datos_mensaje_espera();
funcion2()
funcion3()
}


___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
> Alo!
>
> estoy añadiendo funciones dinamicamente al evento onlad del body asi:
>
> document.body.onload = function(){mostrar_datos_mensaje_espera()};
>
> va bien. el problema lo encuentro cuando el onload del body ya tenia
> definido llamar a otra funcion como <body onload='otra_funcion()'>.
> digamos
> que me machaca la anterior.
> ¿como puedo agragar nuevas funciones sin perder las anteriores?



Respuesta Responder a este mensaje
#4 Piolin Net
16/09/2006 - 08:42 | Informe spam
NO, no es el caso. Necesito añadir las funciones al evento onload en
distintos momentos. antes y despues de estar cargada la pagina.

En definitiva, añadir nuevas funciones teniendo ya el onload otras asignadas.

gracias.

"Dani Castillo" wrote:

Es mas complicado asi, ¿puedes montar en lugar de directamente sobre onload
sobre una variable?

algo como

var cargatxt
.
cargatxt='function1();';
..
cargatxt+='function2();';

ojo a las comillas y el punto y coma, asi al final tendras una cadena de
caracteres y en el onload podras poner algo como
document.body.onload = function(){carga()};
function carga() {
eval(cargatxt)
}
que ejecuta todo lo introducido


otra opcion seria ir acumulando en un vector las distintas funciones a
llamar

si realmente no tienes forma de saber si habia algo en el onload, podrias
tambien guardarlo en una variable y luego ejecutarlo, si es solo un paso (no
lo he probado escribo de cabeza) :

var anterior
anterior=document.body.onload
document.body.onload = function(){carga()};
function carga() {
' aqui haces lo que quieres hacer ahora
' y llamas a la antigua
anterior()
}


o probar con una idea parecida a hacerte un vector de funciones "anteriores"
donde vas almacenando cada vez

___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
> Si , eso ya lo tenia en cuenta pero necesito poder añadir funciones cuando
> ya
> haya alguna con anterioridad ... sera algo dinamco sin concimineto de lo
> que
> habia antes.
>
> garcias.
>
> "Dani Castillo" wrote:
>
>> separandolas con punto y coma, o creando una funcion que llame a todas
>> las
>> demas (normalmente mas claro visualmente)
>>
>> document.body.onload = function(){carga()};
>> function carga() {
>> mostrar_datos_mensaje_espera();
>> funcion2()
>> funcion3()
>> }
>>
>>
>> ___________________________
>> Dani Castillo
>>
>> Mis Fotos:
>> http://picasaweb.google.com/dcdani
>> ___________________________
>> "Piolin Net" escribió en el mensaje
>> news:
>> > Alo!
>> >
>> > estoy añadiendo funciones dinamicamente al evento onlad del body asi:
>> >
>> > document.body.onload = function(){mostrar_datos_mensaje_espera()};
>> >
>> > va bien. el problema lo encuentro cuando el onload del body ya tenia
>> > definido llamar a otra funcion como <body onload='otra_funcion()'>.
>> > digamos
>> > que me machaca la anterior.
>> > ¿como puedo agragar nuevas funciones sin perder las anteriores?
>>
>>
>>



Respuesta Responder a este mensaje
#5 Dani Castillo
16/09/2006 - 11:47 | Informe spam
bueno una vez cargada la pagina no se porque necesitas modificar el onload
:-S ya no tiene efecto

de todas formas podrias intentar hacerlo como una cadena de "interrupciones"
me refiero a usar ese mismo metodo, cada funcion nueva llama a la anterior

para ello necesitaras modificar cada funcion nueva , algo como

var enlace1
function funcion1(){
.. varias acciones y luego
if (enlace1!=null) {
enlace1()
}
}

a la hora de enlazar esa funcion
enlace1=document.body.onload
document.body.onload =function(){funcion1()};

no se me ocurren mas metodos , de todas formas lo dicho, normalmente una vez
cargada la pagina modificar el onload no tiene mucho sentido (ya que este no
se ejecutara hasta la proxima recarga... donde se habra generado de nuevo y
habras perdido todo lo añadido dinamicamente)

No se exactamente lo que estas creando , supongo que algun modulo generico
que vaya añadiendo funciones para tratar controles o algo similar
dependiendo de las necesidades, pero creo que lo mejor sera encararlo de
otra forma :-|

___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
NO, no es el caso. Necesito añadir las funciones al evento onload en
distintos momentos. antes y despues de estar cargada la pagina.

En definitiva, añadir nuevas funciones teniendo ya el onload otras
asignadas.

gracias.

"Dani Castillo" wrote:

Es mas complicado asi, ¿puedes montar en lugar de directamente sobre
onload
sobre una variable?

algo como

var cargatxt
.
cargatxt='function1();';
..
cargatxt+='function2();';

ojo a las comillas y el punto y coma, asi al final tendras una cadena de
caracteres y en el onload podras poner algo como
document.body.onload = function(){carga()};
function carga() {
eval(cargatxt)
}
que ejecuta todo lo introducido


otra opcion seria ir acumulando en un vector las distintas funciones a
llamar

si realmente no tienes forma de saber si habia algo en el onload, podrias
tambien guardarlo en una variable y luego ejecutarlo, si es solo un paso
(no
lo he probado escribo de cabeza) :

var anterior
anterior=document.body.onload
document.body.onload = function(){carga()};
function carga() {
' aqui haces lo que quieres hacer ahora
' y llamas a la antigua
anterior()
}


o probar con una idea parecida a hacerte un vector de funciones
"anteriores"
donde vas almacenando cada vez

___________________________
Dani Castillo

Mis Fotos:
http://picasaweb.google.com/dcdani
___________________________
"Piolin Net" escribió en el mensaje
news:
> Si , eso ya lo tenia en cuenta pero necesito poder añadir funciones
> cuando
> ya
> haya alguna con anterioridad ... sera algo dinamco sin concimineto de
> lo
> que
> habia antes.
>
> garcias.
>
> "Dani Castillo" wrote:
>
>> separandolas con punto y coma, o creando una funcion que llame a todas
>> las
>> demas (normalmente mas claro visualmente)
>>
>> document.body.onload = function(){carga()};
>> function carga() {
>> mostrar_datos_mensaje_espera();
>> funcion2()
>> funcion3()
>> }
>>
>>
>> ___________________________
>> Dani Castillo
>>
>> Mis Fotos:
>> http://picasaweb.google.com/dcdani
>> ___________________________
>> "Piolin Net" escribió en el
>> mensaje
>> news:
>> > Alo!
>> >
>> > estoy añadiendo funciones dinamicamente al evento onlad del body
>> > asi:
>> >
>> > document.body.onload = function(){mostrar_datos_mensaje_espera()};
>> >
>> > va bien. el problema lo encuentro cuando el onload del body ya tenia
>> > definido llamar a otra funcion como <body onload='otra_funcion()'>.
>> > digamos
>> > que me machaca la anterior.
>> > ¿como puedo agragar nuevas funciones sin perder las anteriores?
>>
>>
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida