如果用户第一次拒绝相机许可,我想重新提示它.
代码:
navigator.mediaDevices.getUserMedia({video: true, audio: false}).then(function(){
document.getElementById("submitbutton").style.display="inline";
}).catch(function(err){alert("Please provide consent.");location.reload();});
在我第一次拒绝权限后,上面的代码将重新加载页面。但是在重新加载之后,它不会提示许可,而是再次进入.catch块。
我认为这是因为浏览器第一次存储被拒绝的承诺,并在页面重新加载时检查相同的承诺。
有什么方法可以强制权限提示再次出现吗?
发布于 2021-01-30 17:27:16
不,你不能。
这是浏览器设计人员故意做出的决定,目的是防止网站因其(可能具有侵入性的)权限请求而变得烦人。一旦用户拒绝了权限请求,他们就必须深入他们的浏览器设置才能重新允许来自该域的请求。点击这里阅读更多内容。
不过,一个流行的技巧是,在用户做了一些表示他们真正想要的功能之后,才会请求许可。
因此,例如,您可能希望您的用户流运行如下:
如果你要侵犯用户的隐私,如果你解释你为什么要这么做的话,这对你来说是最好的。
https://stackoverflow.com/questions/61413038
复制相似问题