iOS Safari 的 navigator.permissions.query 替代品

Hen*_*ski 6 safari permissions microphone ios

我编写了一个脚本,允许我们网站的访问者录制音频,然后将文件保存在我们的服务器上。

一切都很顺利,直到我注意到,如果用户没有给予他的许可但无论如何按下了录制按钮,脚本就会崩溃。因此,我添加了此内容以确保获得许可:

navigator.permissions.query({name:'microphone'}).then(function(result) {
 if (result.state == 'granted') {
	//GRANTED
 } else if (result.state == 'denied') {
  //DENIED
 }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不适用于 iOS Safari,因此在这种情况下会再次导致崩溃。我找到了几个关于这个主题的线程,但没有找到一个适用于 iOS 的解决方案。但一定有一个,对吧?如果我们无法确保已授予许可,并且在拒绝麦克风访问的情况下录音也会导致崩溃,我们应该如何在 iPhone 上录制音频?

我希望任何人都有一个想法。提前致谢。丹尼尔

Kev*_*dha -2

请试试这个。

navigator.permissions.query({name:'microphone'}).then(function(result) {
 if (result.state === 'granted') {
    //GRANTED
 } else if (result.state === 'denied') {
  //DENIED
 }
});

Run Code Online (Sandbox Code Playgroud)