Foros del Web » Programando para Internet » Javascript »

Error con un script

Estas en el tema de Error con un script en el foro de Javascript en Foros del Web. Tengo este script: Código: <script language="JavaScript"> var win = null; function ampImg(imag,nombre){ var imagen = new Image(); imagen.src = imag; imagen.name = 'imagen'; var w ...
  #1 (permalink)  
Antiguo 27/04/2003, 08:14
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años
Puntos: 0
Error con un script

Tengo este script:
Código:
<script language="JavaScript">
var win = null;

function ampImg(imag,nombre){

var imagen = new Image();
imagen.src = imag; 
imagen.name = 'imagen';

var w = imagen.width;
var h = imagen.height;

LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
est =
'height=' + h + ',width=' + w + ',top='+TopPosition+',left='+LeftPosition+',scrollbars=no,resizable';
win = window.open("",nombre,est);

win.document.open();
win.document.write("<html><head><title>");
win.document.write(nombre);
win.document.write("</title></head><body marginwidth='0' leftmargin='0' marginheight='0' topmargin='0'><img src='");
win.document.write(imag);
win.document.write("'></body></html>");
win.document.close();

}
</script>
Y lo llamo de la siguiente forma:
<a href="javascript:ampImg('anime/lain/img/skin_layer.gif','Lain Layer'');"> [ Aquí ]</a>

Y cuando pulso el link, me da error javascritp... ¿por que sera?
__________________
Tu portal de manga y anime.
  #2 (permalink)  
Antiguo 27/04/2003, 09:36
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61

Sin probar el código creo que puede ser que al llaar a la función empleas un nombre con un espacio... sustituyelo por un guión bajo o quítalo. Así:

<a href="javascript:ampImg('anime/lain/img/skin_layer.gif','Lain_Layer'');"> [ Aquí ]</a>

Dime si es eso!

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 27/04/2003, 09:47
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61
En realidad te sobraba una comilla simple en la llamada a la función...

Ponlo así:

<a href="javascript:ampImg('anime/lain/img/skin_layer.gif','Lain Layer');"> [ Aquí ]</a>


Aaaadios!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 27/04/2003, 14:49
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años
Puntos: 0
¿Y no hay ninguna forma para que el titulo sean varias palabras?
__________________
Tu portal de manga y anime.
  #5 (permalink)  
Antiguo 27/04/2003, 15:29
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses
Puntos: 61

No, si como lo tienes funciona, no hagas caso al primer mensaje mio. Puedes poner varias palabras en el título.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 28/04/2003, 03:39
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola, meru-kun. Hola, KarlanKas.

El problema es que estás utilizando "Lain Layer" como argumento de window.open. Además de quitar la comilla que te dijo KarlanKas prueba poniendo esto:

win = window.open("",'ventana',est);

Por último, no se si habrá sido un error al poner tu mensaje, pero tienes un par de saltos de línea en:

est =
'height=' + h + ',width=' + w + ',top='+TopPosition+',left='+LeftPosition+',scroll
bars=no,resizable';

Debería ponerlo todo junto.

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 18:43.