Как закрыть окно браузера с помощью JavaScript
Чтобы закрыть окно или вкладку браузера, которая была открыта с помощью JavaScript, используйте метод window.close(). Например, приведенный ниже код закроет текущую вкладку.
<script>
window.close() ;
</script>
Метод window.close() будет работать только при следующих условиях:
- Вкладки должны быть открыты с помощью JavaScript. Например, с помощью open().
- В браузере 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.