Foros del Web » Programando para Internet » Javascript »

problemas con dos js, que por separado funcionan

Estas en el tema de problemas con dos js, que por separado funcionan en el foro de Javascript en Foros del Web. Hola foro!!!! ya de vuelta, menos mal!!! Tengo un portal que voy haciendo poco a poco y le voy añadiendo nuevas funciones... la cuestión es ...
  #1 (permalink)  
Antiguo 25/02/2009, 01:49
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
problemas con dos js, que por separado funcionan

Hola foro!!!! ya de vuelta, menos mal!!!

Tengo un portal que voy haciendo poco a poco y le voy añadiendo nuevas funciones... la cuestión es que cogiendo he cogido 2 javascripts fenomenales, un bbcode y un ampliador de imágenes... con el bbcode he de indicar en el body qué campos quiero que tenga los botones para agragar los códigos... con <body onload="init('Comentarios');">

Por sí solos funcionan los dos, pero si pongo en el body el "onload" las miniaturas en vez de ampliarse se cargan en la misma página...

os dejo un link donde donde no funciona (ver "Galería de imágenes" debajo de la imagen grande)
http://www.fanart.nippon-tour.com/index.php?num=1243
y éste es el código que se añade a la primera miniatura:
Código HTML:
<a href="http://www.blogs.nippon-tour.com/principal/rotar.php?blogNum=1&amp;imagenNum=0&amp;seccion=&amp;num=1243&amp;mode=alta" rel="lightbox[miniGalraria]" title="FanArt: &quot;Sin t&iacute;tulo&quot; en la galer&iacute;a &quot;galeria de ryuzaki&quot; de ryuzaki"><img src="http://www.blogs.nippon-tour.com/principal/rotar.php?blogNum=1&amp;imagenNum=0&amp;num=1243&amp;mode=mini" style="border:none" /></a> 
y este otro donde se amplian las miniaturas puesto que no aparece el bbcode:
http://www.fanart.nippon-tour.com/index.php?num=1183
y éste es el código que se añade a la primera miniatura:
Código HTML:
<a href="http://www.blogs.nippon-tour.com/principal/rotar.php?blogNum=1&amp;imagenNum=0&amp;seccion=&amp;num=1183&amp;mode=alta" rel="lightbox[miniGalraria]" title="FanArt: &quot;tachibana&quot; en la galer&iacute;a &quot;mis fan art&quot; de niky-chan"><img src="http://www.blogs.nippon-tour.com/principal/rotar.php?blogNum=1&amp;imagenNum=0&amp;num=1183&amp;mode=mini" style="border:none" /></a> 
y éstos son los .js

http://www.blogs.nippon-tour.com/lib/bbcode.js
http://www.blogs.nippon-tour.com/Scripts/lightbox.js


Muchas gracias por la ayuda!!! espero haberme explicado bien...
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #2 (permalink)  
Antiguo 25/02/2009, 03:53
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con dos js, que por separado funcionan

En lugar de poner el onload="init(...)" en el tag del body, haz esto:

1. Incluye tus scripts en este orden: prototype, scriptaculous, lightbox, bbcode
2. Al final de bbcode añade esta línea:

Código:
Event.observe(window, 'load', function() { init('Comentarios') }, false);
3. Planteate la posibilidad de darle a la función init un nombre un poco mejor como initBBCode o algo similar. (O incluso de reorganizar bbcode.js pero eso ya es más trabajo)
  #3 (permalink)  
Antiguo 25/02/2009, 04:10
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: problemas con dos js, que por separado funcionan

gracias por responder venkman

1. es como está, en ese mismo órden
2. el problema está en que ese mismo script lo uso en más sitios y en más campos... en el onload hay que poner el nombre de los campos donde queremos que aparezcan los botones... de js no tengo ni papa y no sabría cómo hacer para que dependiendo de la página se cargue en uno u otros <textarea>
3. me conformaré con cambiar el nombre a la función.. por que no me veo capacitado para reorganizar nada

Haciendo los cambios 2 y 3 sigue sin funcionar... los he dejado aplicados en el link http://www.fanart.nippon-tour.com/index.php?num=1243
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 25/02/2009, 04:27
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con dos js, que por separado funcionan

Ya, porque lo que no has comentado es que tienes un tercer script (scripts.js) que vuelve a hacer lo mismo con el window.onload, cargandose lo que haya antes.

Cada vez que un script hace algo como window.onload = function() { ... } o <body onload="miFuncion()"> se está apropiando él solito del evento onload. Si tienes varios scripts que se deben ejecutar en el onload, no puedes permitir eso.

Lo que tienes que hacer es en scripts.js, en las líneas 128 más o menos, donde hace lo del window.onload = ... cambiarlo para que lo haga como te he puesto para el bbcode, con Event.observe.



NOTA1: Por cierto, si no quieres meter esa línea en el bbcode.js directamente, ponla en otro fichero, no hay problema, pero carga ese fichero después de haber cargado el bbcode.js

NOTA2: Al usar Event.observe, estás haciendo que tus scripts necesiten prototype.js, porque es ahí donde está definido Event.observe.
  #5 (permalink)  
Antiguo 25/02/2009, 05:05
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: problemas con dos js, que por separado funcionan

perrdona... como te digo voy añadiendo js sin saber y no pensaba que ese interviniera en el error... aparecía lo siguiente en scripts.js:

Código:
window.onload = function() {
    setupDependencies('registro'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' )
  };
sinceramente, ahora mismo no tengo ni idea en donde uso la función setupDependencies, no tengo el site completo aquí...

pero sustituyendolo por

Código:
window.onload = function() {
    initBBcode('Comentarios');
    setupDependencies('registro'); //name of form(s). Seperate each with a comma (ie: 'weboptions', 'myotherform' )
  };
tampoco funciona... ni con Event.observe(window, 'load', function() { initBBcode('Comentarios') }, false);
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #6 (permalink)  
Antiguo 25/02/2009, 05:12
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con dos js, que por separado funcionan

No, en este caso, tienes que sustituir esas líneas por esta:

Código:
Event.observe(window, 'load', function() { setupDependencies('registro') }, false);
Es decir, lo que no debes hacer es asignar window.onload de forma directa en ningún sitio.
  #7 (permalink)  
Antiguo 25/02/2009, 05:20
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: problemas con dos js, que por separado funcionan

mmmm entiendo que esa linea va en el script.js y mantengo el Event.observe en bbcode.js.... tampoco va...

mil gracias por tu tiempo!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #8 (permalink)  
Antiguo 25/02/2009, 05:26
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con dos js, que por separado funcionan

A ver...

En bbcode.js o en otro fichero separado que cargues después de bbcode.js pones:
Código javascript:
Ver original
  1. Event.observe(window, 'load', function() { init('Comentarios') }, false);
En scripts.js en lugar de todo el bloque window.onload = ... Pones:
Código javascript:
Ver original
  1. Event.observe(window, 'load', function() { setupDependencies('registro') }, false);


Lo que estoy viendo ahora es que setupDependencies parece que ni siquiera existe. Si no existe, quita eso.
  #9 (permalink)  
Antiguo 25/02/2009, 05:31
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: problemas con dos js, que por separado funcionan

sí es así como lo tengo... y también, así es como está en el enlace... lo dejo siempre tal cual me has comentado por si necesitas verlo con los cambios...
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #10 (permalink)  
Antiguo 25/02/2009, 05:38
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas con dos js, que por separado funcionan

Pues quita la línea esa del scripts.js (no pongas tampoco lo de window.onload, simplemente quítalo)
  #11 (permalink)  
Antiguo 25/02/2009, 05:49
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: problemas con dos js, que por separado funcionan

dice que nones.... ni con esas... también he probado con el sistema de ponerlo en el "body" y tampoco...
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:29.