The Notification()
constructor creates a new Notification
object instance.
Syntax
var myNotification = new Notification(title, options);
Parameters
- title
- Defines a title for the notification, which will be shown at the top of the notification window when it is fired.
- options Optional
- An options object containing any custom settings that you want to apply to the notification. The possible options are:
dir
: The direction in which to display the notification. It defaults toauto
, which just adopts the browser's language setting behaviour, but you can override that behaviour by setting values ofltr
andrtl
(although most browsers seem to ignore these settings.)lang
: The notification's language, as specified using aDOMString
representing a BCP 47 language tag. See the Sitepoint ISO 2 letter language codes page for a simple reference.- badge: A
USVString
containing the URL of the image used to represent the notification when there is not enough space to display thenotification itself. body
: ADOMString
representing the body text of the notification, which will be displayed below the title.tag
: ADOMString
representing an identifying tag for the notification.icon
: AUSVString
containing the URL of an icon to be displayed as part of the notification.data
: Arbitrary data that you want associated with the notification. This can be of any data type.vibrate
: A vibration pattern for the device's vibration hardware to emit when the notification fires.renotify
: ABoolean
specifying whether the user should be notified after a new notification replaces an old one. The default isfalse
, which means they won't be notified.
The following options are listed in the most up-to-date spec, but are not supported in any browsers yet. It is advisable to keep checking back regularly to see if the status of these has updated, and let us know if you find any out of date information.
silent
: ABoolean
specifying whether the notification should be silent, i.e. no sounds or vibrations should be issued, regardless of the device settings. The default isfalse
, which means it won't be silent.sound
: AUSVString
containing the URL of an audio file to be played when the notification fires.noscreen
: ABoolean
specifying whether the notification firing should enable the device's screen or not. The default isfalse
, which means it will enable the screen.sticky
: ABoolean
specifying whether the notification should be 'sticky', i.e. not easily clearable by the user. The default isfalse
, which means it won't be sticky.
The following option is non-standard but in a draft version of the spec.
requireInteraction
: Indicates that on devices with sufficiently large screens, a notification should remain active until the user clicks or dismisses it. If this value is absent or false, the desktop version of Chrome will auto-minimize notifications after approximately eight seconds. The default value isfalse
.
Example
In our Emogotchi demo (see source code), we run a simple spawnNotification()
function when we want to fire a notification — this is passed arguments to specify the body, icon and title we want, then it creates the necessary options
object and fires the notification using the Notification()
constructor.
function spawnNotification(theBody,theIcon,theTitle) { var options = { body: theBody, icon: theIcon } var n = new Notification(theTitle,options); }
Specifications
Specification | Status | Comment |
---|---|---|
Notifications API The definition of 'Notification()' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 5 webkit (see notes) 22 |
4.0 moz (see notes) 22 |
No support | 25 | 6 (see notes) |
Available in workers | ? | 41.0 (41.0) | ? | ? | ? |
icon option |
5 webkit (see notes) 22 |
4.0 moz (see notes) 22 |
No support | 25 | No support |
vibrate | 45.0 | No support | No support | No support | No support |
requireInteraction |
47.0 | 32 | |||
renotify |
50.0 | ||||
badge |
53.0 | 39.0 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | ? |
(Yes) |
4.0 moz (see notes) 22 |
1.0.1 moz (see notes) 1.2 |
No support | ? | No support |
(Yes) |
Available in workers | ? | ? | 41.0 (41.0) | ? | ? | ? | ? | ? |
icon option | ? | (Yes) | 4.0 moz (see notes) 22 |
1.0.1 moz (see notes) 1.2 |
No support | ? | No support | (Yes) |
vibrate | No support | 45.0 | No support | No support | No support | 32 | No support | 45.0 |
requireInteraction |
No support | No support | No support | |||||
renotify |
No support | No support | 50.0 | |||||
badge |
No support | 53.0 | 39.0 | 53.0 |
Firefox OS notes
Chrome notes
Starting in Chrome 49, notifications do not work in incognito mode.