Клавиша / esc

window.close()

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

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

Кратко

Скопировано

Метод .close() объекта window закрывает текущее или другое вызванное окно.

Пример

Скопировано
        
          
          const openWindow = () => window.open('doka.guide/index.html');const closeWindow = (windowProxy) => windowProxy.close();const currentProxy = openWindow();closeWindow(currentProxy);
          const openWindow = () => window.open('doka.guide/index.html');

const closeWindow = (windowProxy) => windowProxy.close();

const currentProxy = openWindow();

closeWindow(currentProxy);

        
        
          
        
      

Как пишется

Скопировано

Можете вызвать метод, только если окно открыто через window.open() или это окно верхнего уровня без записей в истории.

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

Записи в истории — это информация о посещённых страницах, которая сохраняется в браузере. Записи в истории появляются у окна, когда в нём произошли переходы по страницам или окно было обновлено. Если в окне есть такие записи, браузер может ограничить его закрытие для обеспечения безопасности с помощью скрипта.

Ограничения

Скопировано

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

В современных браузерах вызов window.close() в окне, которое не было открыто с помощью JavaScript, не сработает. Например, с помощью этого метода невозможно закрыть вкладку или главное окно (страницу).

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

Поддержка браузерами

Скопировано

Метод window.close() поддерживается всеми современными браузерами. Работа метода зависит от того, как и в каком контексте открыто окно. Например, если окно открыто пользователем вручную, метод не сможет его закрыть из соображений информационной безопасности.

Подсказки

Скопировано

💡 Используйте window.close(), когда и правда нужно закрыть окно. Пользователи в большинстве случаев не ожидают закрытия окон без их согласия.

💡 Убедитесь, что окно, которое пытаетесь закрыть, открыто с помощью скрипта. Если это не так, браузер проигнорирует вызов window.close().