Open In App

How to close window using JavaScript which is opened by the user with a URL ?

Last Updated : 25 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript does not allow one to close a window opened by the user, using the window.close() method due to security issues. However, we can close a window by using a workaround. The approach to be followed is by opening the current URL using JavaScript so that it could be closed with a script.

Syntax:

window.close()

Approach: The steps below demonstrate this approach:

  • Opening a new window using the open() method: First, we need to open a new window using the window.open() method. The current URL can be accessed using the location property of the window object. The target attribute or name value of the window is given as _self. This is important as it makes the URL replace the current page.
  • Close this open window using the close() method: The window.close() method closes the window on which it is called. The window that was opened in the first step is closed by using this method. This works because the window has now been opened by our script instead of the user.

Note: This approach may not work on all browsers due to different implementations of browser security.

Example: The example below demonstrates the above steps:

HTML




<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
 
<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>


Output:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads