CloseWatcher: CloseWatcher() constructor

Limited availability

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

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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 Standard
# dom-closewatcher

Browser compatibility

BCD tables only load in the browser