CloseWatcher: CloseWatcher() constructor

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The CloseWatcher() constructor creates a new CloseWatcher object.

You can create CloseWatcher instances without user activation, and this can be useful to implement cases like session inactivity timeout dialogs. However, if you create more than one CloseWatcher without user activation, then the newly-created one will be grouped together with the last one, so a single close request will close them both. This means that it is important to call destroy(), close(), and requestClose() properly.

Syntax

js
new CloseWatcher()
new CloseWatcher(options)

Parameters

options Optional

An object that has the following properties:

signal

An AbortSignal. If this is provided, then the watcher can be destroyed (as if by calling CloseWatcher.destroy()) by calling AbortController.abort() on the corresponding AbortController.

Return value

A new CloseWatcher object.

Examples

Creating new CloseWatcher instances

Create a new CloseWatcher.

js
const watcher = new CloseWatcher();

Create a new CloseWatcher with an AbortSignal that controls destroying the watcher.

js
const controller = new AbortController();
const signalWatcher = new CloseWatcher({ signal: controller.signal });

Specifications

Specification
HTML
# dom-closewatcher

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CloseWatcher() constructor
Chrome – Full support
Chrome 126 (Release date: 2024-06-11)
footnote Full support
Edge – Full support
Edge 126 (Release date: 2024-06-13)
footnote Full support
Firefox – Full support
Firefox 149 (Release date: 2026-03-24)
footnote Full support
Opera – Full support
Opera 112 (Release date: 2024-07-11)
footnote Full support
Safari – No support
Safari
footnote No support
Chrome Android – Full support
Chrome Android 126 (Release date: 2024-06-11)
footnote Full support
Firefox for Android – Full support
Firefox for Android 149 (Release date: 2026-03-24)
footnote Full support
Opera Android – Full support
Opera Android 83 (Release date: 2024-06-25)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote No support
Samsung Internet – Full support
Samsung Internet 28 (Release date: 2025-04-02)
footnote Full support
WebView Android – Full support
WebView Android 126 (Release date: 2024-06-11)
footnote Full support
WebView on iOS – No support
WebView on iOS
footnote No support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support