Notification: Notification() constructor
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The Notification()
constructor creates a new
Notification
object instance, which represents a user notification.
Note: Trying to create a notification inside the ServiceWorkerGlobalScope
using the Notification()
constructor will throw a TypeError
. Use ServiceWorkerRegistration.showNotification()
instead.
Syntax
new Notification(title)
new Notification(title, options)
Parameters
title
-
Defines a title for the notification, which is shown at the top of the notification window.
options
Optional-
An options object containing any custom settings that you want to apply to the notification. The possible options are:
dir
Optional-
The direction in which to display the notification. It defaults to
auto
, which just adopts the browser's language setting behavior, but you can override that behavior by setting values ofltr
andrtl
(although most browsers seem to ignore these settings.) lang
Optional-
The notification's language, as specified using a string representing a language tag according to RFC 5646: Tags for Identifying Languages (also known as BCP 47). See the Sitepoint ISO 2 letter language codes page for a simple reference. The default is the empty string.
badge
Optional-
A string containing the URL of the image used to represent the notification when there isn't enough space to display the notification itself.
body
Optional-
A string representing the body text of the notification, which is displayed below the title. The default is the empty string.
tag
Optional-
A string representing an identifying tag for the notification. The default is the empty string.
icon
Optional-
A string containing the URL of an icon to be displayed in the notification.
image
Optional-
a string containing the URL of an image to be displayed in the notification.
data
Optional-
Arbitrary data that you want associated with the notification. This can be of any data type. The default is
null
. vibrate
Optional-
A vibration pattern for the device's vibration hardware to emit with the notification. If specified,
silent
must not betrue
. timestamp
Optional-
A number representing the time at which a notification is created or applicable (past, present, or future).
renotify
Optional-
A boolean value specifying whether the user should be notified after a new notification replaces an old one. The default is
false
, which means they won't be notified. Iftrue
, thentag
also must be set. requireInteraction
Optional-
Indicates that a notification should remain active until the user clicks or dismisses it, rather than closing automatically. The default value is
false
. actions
Optional-
An array of actions to display in the notification, for which the default is an empty array. Each element in the array can be an object with the following members:
action
-
A string identifying a user action to be displayed on the notification.
title
-
A string containing action text to be shown to the user.
icon
Optional-
A string containing the URL of an icon to display with the action.
Appropriate responses are built using
event.action
within thenotificationclick
event. silent
Optional-
A boolean value specifying whether the notification is silent (no sounds or vibrations issued), regardless of the device settings. The default is
null
. Iftrue
, thenvibrate
must not be present.
Return value
An instance of the Notification
object.
Exceptions
TypeError
-
Thrown if:
- The constructor is called within the
ServiceWorkerGlobalScope
. - The
actions
option is specified and is not empty. - The
silent
option istrue
and thevibrate
option is specified. - The
renotify
option istrue
but thetag
option is empty.
- The constructor is called within the
DataCloneError
DOMException
-
Thrown if serializing the
data
option failed for some reason.
Examples
Here is a most basic example to only show a notification if permission is already granted. For more complete examples, see the Notification
page.
if (Notification.permission === "granted") {
const notification = new Notification("Hi there!");
}
Specifications
Specification |
---|
Notifications API Standard # dom-notification-notification |
Browser compatibility
BCD tables only load in the browser
Chrome notes
Starting in Chrome 49, notifications don't work in incognito mode.
Chrome for Android will throw a TypeError
when calling the
Notification
constructor. It only supports creating
notifications from a service worker. See the
Chromium issue tracker for more details.