ubuntu 为什么在Firefox中navigator.requestMIDIAccess()可以在网站上工作,但不能在本地文件上工作?

r6hnlfcb  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(189)

尝试创建一个本地使用的应用程序,它从我的键盘接收消息。每当我调用navigator.requestMIDIAccess()时,我都会得到TypeError: navigator.requestMIDIAccess is not a function。但是我可以去实现这个API的其他网站,不会得到那个错误,提示选择我的键盘作为输入,应用程序接收到的事件就很好。如果有帮助的话,我在Firefox和Ubuntu上,通过file:///访问我的应用程序。如果我在网站上,开发人员控制台甚至会自动完成navigator.requestMIDIAccess(),但当我查看本地文件时不会。我以为在本地使用Webcenter比在线使用更简单?这是怎么回事?!
我已尝试使用

navigator.permissions.query({ name: "midi", sysex: true }).then((result) => {
        console.log(result.state);
    });

字符串
控制台日志“不支持”,而不是“否认”。我也检查了window.isSecureContext,它是“真的”。我不知道还需要检查什么。我已经阅读了与此错误有关的duckduckgo结果的前2或3页,但遗憾的是,它们似乎都指向Firefox根本不支持此API的日子,所以不涵盖我的问题。再次我知道我的浏览器支持navigator.requestMIDIAccess(),因为当我浏览其他使用此API的应用程序时,它们工作得很好,当我查看任何非本地网站时,控制台识别navigator.requestMIDIAccess(),但不是在查看我的本地应用程序与file:///地址。我真的很想知道如何让webserver工作。

l7mqbcuq

l7mqbcuq1#

Firefox不支持file://URL上的navigator.requestMIDIAccess API(即使它是一个安全上下文)。这可能会随着Bug 1850446而改变。

相关问题