Firefox permission: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration...
up vote
0
down vote
favorite
I'm making a web app that needs to check whether user camera access permission has been granted or not using permission query.
I have tried the code:
navigator.permissions.query({name:'camera'}).then(function(result) {
console.log(result);
});
It ran fine on Google Chrome 70 but gave me an error on firefox:
TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
I have been searching for this issue but nothing helped.
Can anyone help me please ?
Thanks,
javascript firefox navigator
add a comment |
up vote
0
down vote
favorite
I'm making a web app that needs to check whether user camera access permission has been granted or not using permission query.
I have tried the code:
navigator.permissions.query({name:'camera'}).then(function(result) {
console.log(result);
});
It ran fine on Google Chrome 70 but gave me an error on firefox:
TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
I have been searching for this issue but nothing helped.
Can anyone help me please ?
Thanks,
javascript firefox navigator
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm making a web app that needs to check whether user camera access permission has been granted or not using permission query.
I have tried the code:
navigator.permissions.query({name:'camera'}).then(function(result) {
console.log(result);
});
It ran fine on Google Chrome 70 but gave me an error on firefox:
TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
I have been searching for this issue but nothing helped.
Can anyone help me please ?
Thanks,
javascript firefox navigator
I'm making a web app that needs to check whether user camera access permission has been granted or not using permission query.
I have tried the code:
navigator.permissions.query({name:'camera'}).then(function(result) {
console.log(result);
});
It ran fine on Google Chrome 70 but gave me an error on firefox:
TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
I have been searching for this issue but nothing helped.
Can anyone help me please ?
Thanks,
javascript firefox navigator
javascript firefox navigator
asked Nov 5 at 3:30
Redplane
85311224
85311224
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
The Permissions API is marked as an experimental technology.
The issue is that Firefox does have navigator.permissions
and support the query
method on it, too, however, it does not support all the permission names that are listed on MDN's Permissions API page.
You can try this yourself: go to the console on Firefox and execute
// geolocation is working fine
navigator.permissions.query({ name: 'geolocation' }).then(console.log)
// camera, microphone is not supported, throws
navigator.permissions.query({ name: 'camera' })
// TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
navigator.permissions.query({ name: 'microphone' })
// TypeError: 'name' member of PermissionDescriptor 'microphone' is not a valid value for enumeration PermissionName.
There is an open discussion on Github in the mozilla/standards-positions
about their position on the Permissions API. To be honest, as I see, they did not reach any conclusion yet.
What you can do is you create a basic functionality that works on all browsers without the permissions information and on Chrome, you progressively enhance the user experience by using the Permissions.query
for figuring out the permissions for camera and microphone.
Alternatively, you can come up with some logic to handle this using MediaDevices.getUserMedia
: for example, you can call getUserMedia
and immediately stop the tracks, if the only thing you want is to ensure you app has permissions granted for microphone and camera. Be careful though, there are multiple problems with this:
- the camera light will be turned on for a second
- if your user denies permission, you will have a hard time asking for it again, so before you ask for permission, you should clarify to your users why you need these permissions
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
The Permissions API is marked as an experimental technology.
The issue is that Firefox does have navigator.permissions
and support the query
method on it, too, however, it does not support all the permission names that are listed on MDN's Permissions API page.
You can try this yourself: go to the console on Firefox and execute
// geolocation is working fine
navigator.permissions.query({ name: 'geolocation' }).then(console.log)
// camera, microphone is not supported, throws
navigator.permissions.query({ name: 'camera' })
// TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
navigator.permissions.query({ name: 'microphone' })
// TypeError: 'name' member of PermissionDescriptor 'microphone' is not a valid value for enumeration PermissionName.
There is an open discussion on Github in the mozilla/standards-positions
about their position on the Permissions API. To be honest, as I see, they did not reach any conclusion yet.
What you can do is you create a basic functionality that works on all browsers without the permissions information and on Chrome, you progressively enhance the user experience by using the Permissions.query
for figuring out the permissions for camera and microphone.
Alternatively, you can come up with some logic to handle this using MediaDevices.getUserMedia
: for example, you can call getUserMedia
and immediately stop the tracks, if the only thing you want is to ensure you app has permissions granted for microphone and camera. Be careful though, there are multiple problems with this:
- the camera light will be turned on for a second
- if your user denies permission, you will have a hard time asking for it again, so before you ask for permission, you should clarify to your users why you need these permissions
add a comment |
up vote
0
down vote
The Permissions API is marked as an experimental technology.
The issue is that Firefox does have navigator.permissions
and support the query
method on it, too, however, it does not support all the permission names that are listed on MDN's Permissions API page.
You can try this yourself: go to the console on Firefox and execute
// geolocation is working fine
navigator.permissions.query({ name: 'geolocation' }).then(console.log)
// camera, microphone is not supported, throws
navigator.permissions.query({ name: 'camera' })
// TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
navigator.permissions.query({ name: 'microphone' })
// TypeError: 'name' member of PermissionDescriptor 'microphone' is not a valid value for enumeration PermissionName.
There is an open discussion on Github in the mozilla/standards-positions
about their position on the Permissions API. To be honest, as I see, they did not reach any conclusion yet.
What you can do is you create a basic functionality that works on all browsers without the permissions information and on Chrome, you progressively enhance the user experience by using the Permissions.query
for figuring out the permissions for camera and microphone.
Alternatively, you can come up with some logic to handle this using MediaDevices.getUserMedia
: for example, you can call getUserMedia
and immediately stop the tracks, if the only thing you want is to ensure you app has permissions granted for microphone and camera. Be careful though, there are multiple problems with this:
- the camera light will be turned on for a second
- if your user denies permission, you will have a hard time asking for it again, so before you ask for permission, you should clarify to your users why you need these permissions
add a comment |
up vote
0
down vote
up vote
0
down vote
The Permissions API is marked as an experimental technology.
The issue is that Firefox does have navigator.permissions
and support the query
method on it, too, however, it does not support all the permission names that are listed on MDN's Permissions API page.
You can try this yourself: go to the console on Firefox and execute
// geolocation is working fine
navigator.permissions.query({ name: 'geolocation' }).then(console.log)
// camera, microphone is not supported, throws
navigator.permissions.query({ name: 'camera' })
// TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
navigator.permissions.query({ name: 'microphone' })
// TypeError: 'name' member of PermissionDescriptor 'microphone' is not a valid value for enumeration PermissionName.
There is an open discussion on Github in the mozilla/standards-positions
about their position on the Permissions API. To be honest, as I see, they did not reach any conclusion yet.
What you can do is you create a basic functionality that works on all browsers without the permissions information and on Chrome, you progressively enhance the user experience by using the Permissions.query
for figuring out the permissions for camera and microphone.
Alternatively, you can come up with some logic to handle this using MediaDevices.getUserMedia
: for example, you can call getUserMedia
and immediately stop the tracks, if the only thing you want is to ensure you app has permissions granted for microphone and camera. Be careful though, there are multiple problems with this:
- the camera light will be turned on for a second
- if your user denies permission, you will have a hard time asking for it again, so before you ask for permission, you should clarify to your users why you need these permissions
The Permissions API is marked as an experimental technology.
The issue is that Firefox does have navigator.permissions
and support the query
method on it, too, however, it does not support all the permission names that are listed on MDN's Permissions API page.
You can try this yourself: go to the console on Firefox and execute
// geolocation is working fine
navigator.permissions.query({ name: 'geolocation' }).then(console.log)
// camera, microphone is not supported, throws
navigator.permissions.query({ name: 'camera' })
// TypeError: 'name' member of PermissionDescriptor 'camera' is not a valid value for enumeration PermissionName.
navigator.permissions.query({ name: 'microphone' })
// TypeError: 'name' member of PermissionDescriptor 'microphone' is not a valid value for enumeration PermissionName.
There is an open discussion on Github in the mozilla/standards-positions
about their position on the Permissions API. To be honest, as I see, they did not reach any conclusion yet.
What you can do is you create a basic functionality that works on all browsers without the permissions information and on Chrome, you progressively enhance the user experience by using the Permissions.query
for figuring out the permissions for camera and microphone.
Alternatively, you can come up with some logic to handle this using MediaDevices.getUserMedia
: for example, you can call getUserMedia
and immediately stop the tracks, if the only thing you want is to ensure you app has permissions granted for microphone and camera. Be careful though, there are multiple problems with this:
- the camera light will be turned on for a second
- if your user denies permission, you will have a hard time asking for it again, so before you ask for permission, you should clarify to your users why you need these permissions
edited Nov 5 at 14:07
answered Nov 5 at 14:00
Vince Varga
318212
318212
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53147944%2ffirefox-permission-name-member-of-permissiondescriptor-camera-is-not-a-vali%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password