This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The permissionState() method of the PushManager interface returns a Promise that resolves to a DOMString indicating the permission state of the push manager. Possible values are 'prompt', 'denied', or 'granted'.
Note: As of Firefox 44, the permissions for Notifications and Push have been merged. If permission is granted for notifications, push will also be enabled.
PushManager.permissionState(options).then(function(PushMessagingState) { ... });
options OptionaluserVisibleOnly: A boolean indicating that the returned push subscription will only be used for messages whose effect is made visible to the user.applicationServerKey: A public key your push server will use to send messages to client apps via a push server. This value is part of a signing key pair generated by your application server and usable with elliptic curve digital signature (ECDSA) over the P-256 curve. A Promise that resolves to a DOMString with a value of 'prompt', 'denied', or 'granted'.
| Specification | Status | Comment |
|---|---|---|
| Push API The definition of 'permissionState()' in that specification. | Working Draft | Initial definition. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 42 | 16
|
44
|
No | 29 | No |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | No | 42 | Yes | 48
|
29 | No | 4.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PushManager/permissionState