Abrir un popup desde el «href» de un enlace

Hoy me he encontrado con un problema que parecía una tontería pero que al final me ha costado un rato encontrar la solución.

El problema es que estaba usando un componente javascript que «pinta» un menú. Este componente recibe una matriz de N dimensiones que representan los menús y submenus.

Simplificando, este array recibe por cada elemento del menú el texto a mostrar y la URL donde lleva esa opción de menú. Finalmente el componente genera algo de este estilo:

TEXTO

El problema ha surgido cuando me ha surgido la necesidad de que uno de esos enlaces abriese un popup, en vez de redirigirnos a una URL.

En un entorno normal sería fácil porque bastaría con hacer algo de este estilo:

TEXTO

Pero el componente no me permitía meter código en el «onclick» así que la opción era jugar con el parámetro «URL» que le pasaba para conseguir abrir el popup.

He probado varias opciones:

1. TEXTO

2. TEXTO

3. TEXTO

...

Y conseguía abrir el popup pero luego la página se recargaba y mostraba simplemente «[OBJECT], con lo que no valía la solución. Por mucho «return false;» que metiese.

Al final la solución ha sido escribir esto:

TEXTO

5 comentarios en “Abrir un popup desde el «href» de un enlace

    • Te aseguro que funcionaba. Pero han pasado unos cuantos años y es muy probable que en las versiones actuales de los navegadores el comportamiento sea distinto.

  1. hola y si tengo un boton con href que lo llamo en el java script seria:

    if (href == ‘ver’) {

    var url = »+ ‘/’ + requerimientoid;

    popupCenter(url, ‘Requerimiento – Detalle’, 1000, 750);

    // location.href = » + ‘/’ + id;

    } else if (href == ‘editar’) {

    if(estadoid == 1){
    if(origen == »){
    location.href = » + ‘/’ + id;
    }else{
    mostrarMensajeAlertaEditar(«Validacion»,’El requerimiento no se puede editar.’);
    }

  2. Hola buen dia, he hecho un sistema de control de inventarios para una empresa, el sistema esta terminado y funciona correctamente en el navegador (mozilla, edge, opera, chrome), ahora el cliente quiere que el sistema se habrá solo en una ventana independiente al navegador, (lo único que se me ocurrió es en un pop up)..

    El sistema usa HTML5 (drag and drop, localsotrage session storage) PHP (variables de sesion) MySQL (commits) AJAX, JSON etc… Sabiendo esto, podre utilizar o mejor dicho, abrir el sistema sin problemas en un po up?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.