Клавиша / esc

window.close()

Закройте окно, а то что-то холодно.

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод close() объекта window закрывает окно, ранее открытое с использованием window.open().

Пример

Скопировано

Создадим пример, демонстрирующий создание и закрытие окна.

        
          
          // Создаём функцию для открытия окна с Докойconst openWindow = () => window.open('https://doka.guide/')// Создаём функцию для закрытия окнаconst closeWindow = (windowProxy) => windowProxy.close()// Открываем окноconst currentWindow = openWindow()// Работаем с новым окном// ...// Закрываем открытое ранее окноcloseWindow(currentWindow)
          // Создаём функцию для открытия окна с Докой
const openWindow = () => window.open('https://doka.guide/')
// Создаём функцию для закрытия окна
const closeWindow = (windowProxy) => windowProxy.close()

// Открываем окно
const currentWindow = openWindow()

// Работаем с новым окном
// ...

// Закрываем открытое ранее окно
closeWindow(currentWindow)

        
        
          
        
      
Открыть демо в новой вкладке

Также закрытие можно сделать с помощью close() у объекта window в созданном окне.

Открыть демо в новой вкладке

Как пишется

Скопировано
        
          
          openedWindow.close()
          openedWindow.close()

        
        
          
        
      

openedWindow — объект windowProxy, результат ранее выполненного window.open(), или глобальный объект window.

Метод close() не имеет параметров и возвращает undefined.

Как понять

Скопировано

Метод close() закрывает окно, только если его открыли через window.open(). Это ограничение связано с вопросами безопасности в браузерах: так они предотвращают закрытие окон, которые открыл сам пользователь.

Например, с помощью этого метода невозможно закрыть открытую с помощью браузера вкладку или сам браузер.

Подсказки

Скопировано

💡 Используйте window.close(), только когда пользователь готов к закрытию окна. Для этого можно добавить поп-ап с согласием.