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.
Syntax
PushManager.permissionState(options).then(function(PushMessagingState) { ... });
Parameters
options Optional- An object containing optional configuration parameters. It can have the following properties:
userVisibleOnly: 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.
Returns
A Promise that resolves to a DOMString with a value of 'prompt', 'denied', or 'granted'.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Push API The definition of 'permissionState()' in that specification. |
Working Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
permissionState | Chrome Full support 42 | Edge
Full support
16
| Firefox
Full support
44
| IE No support No | Opera Full support 29 | Safari No support No | WebView Android No support No | Chrome Android Full support 42 | Firefox Android
Full support
48
| Opera Android Full support 29 | Safari iOS No support No | Samsung Internet Android Full support 4.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
