¿Cómo cerrar la ventana usando JavaScript que abre el usuario con una URL?

JavaScript no permite cerrar una ventana abierta por el usuario, usando el método window.close() debido a problemas de seguridad. Sin embargo, podemos cerrar una ventana usando una solución alternativa. El enfoque a seguir es abrir la URL actual usando JavaScript para que pueda cerrarse con un script.

Los siguientes pasos demuestran este enfoque:

Paso 1: Abrir una nueva ventana usando el método open(): Primero necesitamos abrir una nueva ventana usando el método window.open() . Se puede acceder a la URL actual utilizando la propiedad de ubicación del objeto de ventana. El atributo de destino o el valor del nombre de la ventana se proporciona como _self . Esto es importante ya que hace que la URL reemplace la página actual.

Paso 2: Cierra esta ventana abierta usando el método close(): El método window.close() cierra la ventana en la que se llama. La ventana que se abrió en el primer paso se cierra con este método. Esto funciona porque la ventana ahora ha sido abierta por nuestro script en lugar del usuario.

Nota: Es posible que este enfoque no funcione en todos los navegadores debido a las diferentes implementaciones de la seguridad del navegador.

El siguiente ejemplo demuestra los pasos anteriores:

Ejemplo:

HTML

<!DOCTYPE html>
<html>
  
<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
  
    <p>
        Click on the button below to
        close the current window.
    </p>
  
    <!-- Define the button to 
       close the window -->
    <button onclick="return closeWindow();">
        Close Window
    </button>
      
    <script type="text/javascript">
        function closeWindow() {
  
            // Open the new window 
            // with the URL replacing the
            // current page using the
            // _self value
            let new_window =
                open(location, '_self');
  
            // Close this window
            new_window.close();
  
            return false;
        }
    </script>
</body>
  
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por shekharsaxena316 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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