[IE 9][IE 10] Does not support Promise. Polyfill required.
[MS Edge] Notifications supported for the latest version of Edge that comes with Windows 10 Anniversary Update
[Safari] Icon is not displayed - it uses the application icon instance of provided one
Have to type of icons - one image format that will be displayed for Chrome/Safari/Firefox and one in .ico format, 16x16 for IE The library automatically will parse the icon name and will add .ico extension if it is not .ico
The icon resource file must contain a 16x16 icon at 96 dots per inch (dpi). If an icon overlay is already applied, the existing overlay is replaced. Note To view the icon overlay, the taskbar buttons must be in their default large icon mode. Small taskbar icons do not support icon overlays.
The Notification constructor(window.Notification) is replaced with custom one in order to polyill the missing properties/methods. Each instance created with
new Notification('title') returns the original Notification object(for Chrome/Opera/Firefox/Safari/Edge) and custom Notification object for not supported browsers:
var n = new Notification('title');
n instanceOf Notification; // false for Chrome/Safari/Opera/Edge/Firefox as created notification is instance of the browsers' native Notification object, but window.Notification is a polyfill class.
Notification API defines 3 permission levels for supported environments:
To support environments that do not implement Notification API, this code implements an additional permission level:
Usage: Use the Standard API for working with this notification library: