Página 1 de 1

Abrir ventana desde JavaScript

NotaPublicado: 2015-03-11 11:13 @509
por seafree
Hola. Uno de los requisitos de la aplicación que estoy desarrollando es que al dar clic a una imagen, abra una nueva ventana, pero no la abre, como esperaría. El código es el siguiente:

#! /usr/bin/perl -w
use CGI qw(:standard);
use CGI::Carp qw/fatalsToBrowser/;
use DBI;
use strict;
use URI::Escape;
use Switch;
use utf8;
my $JSCRIPT=<<EOF;

function ventana_anexos(pagina){
alert ("HOOOOLLLLAAA");
return;
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no,scrollbars=no, resizable=no, width=408, height=120, top=85, left=140";
window.open(pagina,"",opciones);
}
my $cgi = new CGI;

$cgi->charset('utf-8');

print $cgi->header(-type=> 'text/html',
-charset=>'utf-8');

print $cgi->start_html(-title =>"SISCAL", -encoding => "utf-8");
print<<"HTML";
<!DOCtype HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<script type="text/JavaScript" src="/prototype.js"></script>
</head>
HTML
.
.
.
print<<"TITULOS";
<CENTER><TABLE BORDER=1 CELLSPACING=0 width="100%"><TR><TD>
</TD></TR>
TITULOS

while (@row = $sth->fetchrow_array) {
.
.
print "<TD ALIGN=CENTER>";
print "<FONT SIZE=2 FACE=ARIAL color=#000000>";
print<<"vamos";
<div align="center">
<input type="image" src="../../images/anexo_blue.png" widt="40" height="15"
onClick="javascript:ventana_anexos("http://10.26.2.6/cgi-bin/siscal/consulta_eventos.cgi)">
</input>
</div></TD>
.
.

Vamos.
El compilador de Google Chrome muestra el siguiente mensaje de error:

Uncaught SyntaxError: Unexpected token }

¿Me está faltando algo en el código? Les agradeceré sus valiosos comentarios.

Gracias y saludos.

Re: Abrir ventana desde JavaScript

NotaPublicado: 2015-03-11 13:04 @586
por explorer
No veo un 'EOF'.

Y te animo otra vez a que aprendas de las ventajas de usar el módulo CGI para crear código HTML. Has escrito tanto código duplicado que casi se puede reducir a la mitad. ¿No te has dado cuenta de que start_html() ya se encarga de crear toda la cabecera HTML que luego vuelves a sacar con el siguiente print()?

Si mezclas código HTML con código Perl, estás creando el mismo tipo de engendro que son muchas de las páginas escritas en PHP: horribles de mantener.

No te olvides de poner marcas de código, en tus mensajes, para que salgan más claros (cuando redactes un mensaje, selecciona la parte del código, y pulsa en el botón Perl -o bash, XML, HTML o lo que sea- que encontrarás por la parte de arriba de la caja de texto).

Re: Abrir ventana desde JavaScript

NotaPublicado: 2015-03-11 15:36 @692
por seafree
Ok, explorer, agradezco tus valiosas observaciones.