Baseline 2023
Newly available
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 showNotification()
method of the ServiceWorkerRegistration
interface creates a notification on an active service worker.
showNotification(title)
showNotification(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:
actions
Optional Experimental
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 the notificationclick
event.
badge
Optional Experimental
A string containing the URL of the image used to represent the notification when there isn't enough space to display the notification itself; for example, the Android Notification Bar. On Android devices, the badge should accommodate devices up to 4x resolution, about 96x96px, and the image will be automatically masked.
body
Optional
A string representing the body text of the notification, which is displayed below the title. The default is the empty string.
data
Optional Experimental
Arbitrary data that you want associated with the notification. This can be of any structured-clonable data type. The default is null
.
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 of ltr
and rtl
(although most browsers seem to ignore these settings.)
icon
Optional
A string containing the URL of an icon to be displayed in the notification.
image
Optional Experimental
A string containing the URL of an image to be displayed in the notification.
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.
renotify
Optional Experimental
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. If true
, then tag
also must be set.
requireInteraction
Optional Experimental
Indicates that a notification should remain active until the user clicks or dismisses it, rather than closing automatically. The default value is false
.
silent
Optional
A boolean value specifying whether the notification is silent (no sounds or vibrations issued), regardless of the device settings. The default, null
, means to respect device defaults. If true
, then vibrate
must not be present.
tag
Optional
A string representing an identifying tag for the notification. The default is the empty string.
timestamp
Optional
A timestamp, given as Unix time in milliseconds, representing the time associated with the notification. This could be in the past when a notification is used for a message that couldn't immediately be delivered because the device was offline, or in the future for a meeting that is about to start.
vibrate
Optional Experimental
A vibration pattern for the device's vibration hardware to emit with the notification. If specified, silent
must not be true
.
A Promise
that resolves to undefined
.
TypeError
Thrown if:
activating
or activated
.silent
option is true
and the vibrate
option is specified.renotify
option is true
but the tag
option is empty.DataCloneError
DOMException
Thrown if serializing the data
option failed for some reason.
navigator.serviceWorker.register("sw.js");
function showNotification() {
Notification.requestPermission().then((result) => {
if (result === "granted") {
navigator.serviceWorker.ready.then((registration) => {
registration.showNotification("Vibration Sample", {
body: "Buzz! Buzz!",
icon: "../images/touch/chrome-touch-icon-192x192.png",
vibrate: [200, 100, 200, 100, 200, 100, 200],
tag: "vibration-sample",
});
});
}
});
}
To invoke the above function at an appropriate time, you could listen to the notificationclick
event.
You can also retrieve details of the Notification
s that have been fired from the current service worker using ServiceWorkerRegistration.getNotifications()
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3