Determine the captive portal state of the user's connection. A captive portal is a web page displayed when a user first connects to a Wi-Fi network. The user provides information or acts on the captive portal web page to gain broader access to network resources, such as accepting terms and conditions or making a payment.

To use this API you need to have the "captivePortal" permission.


captivePortal.canonicalURL (en-US)

Return the canonical URL of the captive-portal detection page. Read-only.


captivePortal.getLastChecked() (en-US)

Returns the time, in milliseconds, since the last request was completed.

captivePortal.getState() (en-US)

Returns the portal state as one of unknown, not_captive, unlocked_portal, or locked_portal.


captivePortal.onConnectivityAvailable (en-US)

Fires when the captive portal service determines that the user can connect to the internet.


Fires when the captive portal state changes.

Browser compatibility

BCD tables only load in the browser