Foros del Web » Programando para Internet » Javascript »

javascript dentro de javascript??

Estas en el tema de javascript dentro de javascript?? en el foro de Javascript en Foros del Web. Buenas a todos. Haber si me explico, tengo un rotador de banners y todo me ha ido bien hasta ahora, primero estaba en tradedoubler y ...
  #1 (permalink)  
Antiguo 07/02/2005, 09:40
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
javascript dentro de javascript??

Buenas a todos.
Haber si me explico, tengo un rotador de banners y todo me ha ido bien hasta ahora, primero estaba en tradedoubler y me configuraba los banners con un "switch" y me iba muy bien, pero he pedido subscricpion en "impresionesweb" y estos me mandan un script de la forma <script javascript=""></javascript y esto me da un error. El codigo que tengo es el siguiente:


var n = Math.random();
var r = Math.floor(n*4);

switch(r)
{case 1: [banner1]
break;
case 2: [banner2]
break;
case 3: <script language="javascript" src="la_url"></script>;
break;
}

El banner 1 y 2 me van perfectamente pero esque ellos hacen algo parecido a esto:

var uri = [instrucciones];
document.write('[instrucciones]');

pero el 3 me da error y es porque pongo un script dentro de otro, verdad?
Alguien me puede decir como solucionarlo?
Espero haberme explicado.
Muchas gracias
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #2 (permalink)  
Antiguo 07/02/2005, 12:40
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 9 meses
Puntos: 0
Pues si, efectivamente, no puedes abrir un tag <script> dentro de otro.

Solucion, no se, depende, si el codigo en el archivo externo es sencillo, podrias copiarlo y pegarlo en el case3.

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #3 (permalink)  
Antiguo 07/02/2005, 12:46
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
ya, el caso es que no hay mas codigo del que ves.
Es decir, el codigo que me han dado para poner de banner, y que tengo que poner en el case 3 es ese:

<script language="javascript" src="la_url"></script>;

Con una pequeña modificacion, y es que la ruta "src" no es ese, sino la que me han dado.
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #4 (permalink)  
Antiguo 07/02/2005, 21:14
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola kavalerian y claray

Me ha chocado que te haigan enviado un script externo para ponerlo dentro de una sentencia switch, yo tambien pensaba que no se podia hacer. He estado experimentado y parece que si es posible.

switch(r)
{case 1: [banner1]
break;
case 2: [banner2]
break;
case 3: (function(path) {document.write("<" + "script src=\"" + path + "\"></" + "script>")})("archivo.js");
break;
}

El truco esta en definir e invocar una funcion que escribe la etiqueta "script" .

Saludos
  #5 (permalink)  
Antiguo 08/02/2005, 13:25
 
Fecha de Ingreso: junio-2003
Ubicación: Valencia
Mensajes: 334
Antigüedad: 20 años, 10 meses
Puntos: 0
Ok, gracias, ya funciona,
pero me surge una duda con respecto al codigo,
por que despues de "document.write" lo que va dentro lo pones separado y lo unes?
porque no lo pones todo junto??
yo lo he puesto todo junto y funciona perfectamente.
__________________
http://reunga.com
Desarrollo de aplicaciones informáticas
  #6 (permalink)  
Antiguo 08/02/2005, 15:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola de nuevo.

Realmente no lo se, pero recuerdo haberlo visto algo parecido estudiando un script de una aplicacion muy currada, no recuerdo cual y supongo que si lo ponen asi sera por algo.

Tampoco es necesario lo de crear una funcion he invocarla para que funcione, lo he probado solo poniendo document.write("<" + "script src=\"archivo.js\"></" + "script>") y funciona. Al crearlo con la funcion las variables globales del script externo dejaran de serlo para pertenecer al ambito de la funcion.

Saludos
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 02:51.