Note: This feature is available in Web Workers.
The name read-only property of the PermissionStatus interface returns the name of a requested permission.
A read-only value that is identical to the name argument passed to navigator.permissions.query().
function stateChangeListener() {
console.log(`${this.name} permission status changed to ${this.state}`);
}
function queryAndTrackPermission(permissionName) {
navigator.permissions
.query({ name: permissionName })
.then((permissionStatus) => {
console.log(
`${permissionName} permission state is ${permissionStatus.state}`,
);
permissionStatus.onchange = stateChangeListener;
});
}
queryAndTrackPermission("geolocation");
queryAndTrackPermission("midi");