Как закрыть окно браузера с помощью JavaScript

Чтобы закрыть окно или вкладку браузера, которая была открыта с помощью JavaScript, используйте метод window.close(). Например, приведенный ниже код закроет текущую вкладку.

<script>
  window.close() ;
</script>

Метод window.close() будет работать только при следующих условиях:

  1. Вкладки должны быть открыты с помощью JavaScript. Например, с помощью open().
  2. В браузере Firefox вкладка, которую вы хотите закрыть, не должны быть открыты с помощью значений параметра strWindowFeatures «noopener» или «noreferrer». Например, если окно было открыто с помощью open("index.html", "_blank", "noopener"), то функция window.close() не сработает.

Как закрыть окно браузера с помощью JavaScript - демонстрация

Обратите внимание на следующие особенности приведенного ниже примера:

  • Кнопка «Open demo» откроет вкладку с этой статьей. При этом браузер автоматически прокрутит страницу до начала раздела с демонстрацией.
  • Кнопка «Close current window» отображается как в текущей вкладке, так и во вновь открытой. Но она будет работать только в последней.
  • Если вы нажмете кнопку «Open demo» пару раз, то откроете несколько вкладок браузера с этой статьей. При этом кнопка «Close current window» должна работать во всех вкладках браузера. Но кроме оригинальной, которую вы открыли вручную.

Исходный код

HTML-код кнопок:

<button type="button" onclick="tsw_open_demo_window();">Open demo in a new window/tab</button>
<button type="button" onclick="window.close();">Close current window if possible</button> 

Это стандартный HTML-код к с добавлением обработчиков onclick, которые вызываются, когда кто-то нажимает на кнопки.

JavaScript-функция tsw_open_demo_window()вызывается при нажатии кнопки «Открыть демонстрацию».

function tsw_open_demo_window()
{
  window.open( "close-browser-tab-or-window.shtml#demo" );
}

Я использовал относительный URL-адрес, так как в примере открывается эта же страница. Но вы можете использовать абсолютный  адрес (включая «http://» или «https://»).

Кнопка «Close current window» не выполняет никаких других действий, кроме вызова window.close(). Поэтому я поместил JavaScript-код непосредственно в ее атрибут onclick.