• Publicidad

Nueva ventana al ejecutar una URL

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Nueva ventana al ejecutar una URL

Notapor Jorge von Rudno » 2014-04-09 02:32 @147

Hola colegas,

Tengo un script el cual tiene un botón. Al dar clic sobre el botón este ejecuta algunos cálculos (en el servidor). Al finalizar estos cálculos quisiera que me abriera en una nueva ventana en un nuevo URL.

Lo que quiero es lograr el mismo efecto de pulsar sobre un enlace. <a href="google.com" target="blank">Hola</a>, pero sin necesidad del enlace.

No puedo utilizar el evento onclick del botón para ejecutar una función en JavaScript porque necesito el resultado de los cálculos para pasar un parámetro en la URL y como ustedes saben me ejecutaría primero la función en JavaScript antes de ejecutarse la parte del servidor.

Tampoco puedo poner un enlace, por que lo que pretendo es que el usuario tenga esta información disponible en otra pestaña.

¡¡¡Les agradezco de antemano la ayuda!!!

Saludos

Jorge von Rudno
Jorge von Rudno
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2014-04-09 02:14 @135

Publicidad

Re: Nueva ventana al ejecutar una URL

Notapor explorer » 2014-04-09 04:26 @226

Bienvenido a los foros de Perl en Español, Jorge von Rudno.

Que yo sepa, no es posible indicar, desde el lado del servidor, que se abra una nueva ventana.

Sí que se puede indicar, desde el servidor al navegador, que se abra un nuevo URL, por medio del envío de una cabecera HTTP Location: (método redirect() del módulo CGI, por ejemplo).

No entiendo el por qué de las limitaciones que comentas. Sí que puedes llamar a un JavaScript, para que éste haga una llamada al servidor, que éste haga sus cálculos y devuelva un resultado, y el JavaScript luego lo convierte en código HTML que puedes representar en una página.

Yo necesito más detalles de lo que necesitas. Formato de los argumentos, del resultado de los cálculos...

Si, por ejemplo, lo que se ejecuta en el servidor, no necesita de ningún argumento, entonces la solución es muy sencilla: en el lado del cliente, necesitamos que se abra una nueva ventana (por ejemplo con windows.open()) y le pasamos como URL la dirección del programa que realiza los cálculos. Éste los hace y devuelve una página HTML con el resultado.

Si los cálculos se demoran mucho, el usuario verá una página en blanco durante un tiempo y puede pensar que algo no funciona. En ese caso, el primer HTML lo hacemos nosotros, con algún mensaje de que "Espere por favor...", y luego una parte del HTML se refresca con la petición al URL del servidor. Esto se puede hacer con Ajax o con un simple <iframe>.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Nueva ventana al ejecutar una URL

Notapor Jorge von Rudno » 2014-04-11 02:27 @143

Buenos días,

Por favor, discúlpeme que no haya escrito antes. Muchas gracias por sus sugerencias y aclaraciones; fueron muy útiles. El problema ya lo solucioné siguiendo sus sugerencias de hacerlo a través de JavaScript.

¡¡¡¡Nuevamente mil y mil gracias!!!!

Cordial saludos.

Jorge von Rudno
Jorge von Rudno
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2014-04-09 02:14 @135


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado