提问人:cerebral_malfunction 提问时间:11/17/2023 更新时间:11/18/2023 访问量:17
为什么 navigator.requestMIDIAccess() 在 Firefox 中可以在网站上工作,但在本地文件上却不能?
Why is navigator.requestMIDIAccess() working on websites but NOT on local files in Firefox?
问:
尝试创建一个本地使用的应用程序,该应用程序从我的MIDI键盘接收消息。每当我打电话时,我都会得到.但是我可以访问其他实现此 API 的网站并且不会出现该错误,出现提示以选择我的键盘作为输入,并且应用程序可以很好地接收 MIDI 事件。如果有帮助,我在 Firefox 和 Ubuntu 上,通过 .如果我在网站上,开发人员控制台甚至会自动完成,但在查看本地文件时不会。我以为在本地使用WebMIDI比在线使用WebMIDI更简单?这是怎么回事?!navigator.requestMIDIAccess()
TypeError: navigator.requestMIDIAccess is not a function
file:///
navigator.requestMIDIAccess()
我尝试使用
navigator.permissions.query({ name: "midi", sysex: true }).then((result) => {
console.log(result.state);
});
控制台记录“提示”,而不是“拒绝”。我也检查过,它是“真实的”。我不知道还有什么要检查的。我已经通读了与此错误相关的 duckduckgo 结果的前 2 或 3 页,但遗憾的是,它们似乎都可以追溯到 Firefox 根本不支持此 API 的日子,因此没有涵盖我遇到的问题。同样,我知道我的浏览器支持 MIDI,因为当我浏览到使用此 API 的其他应用程序时,它们工作正常,并且控制台会识别我何时查看任何非本地站点,但在查看我的本地应用程序时不会使用地址。我真的很想知道如何让WebMIDI工作。window.isSecureContext
navigator.requestMIDIAccess()
file:///
答:
Firefox 不支持 file:// URL 上的 API(即使它是一个安全的上下文)。这可能会随着 Bug 1850446而改变。navigator.requestMIDIAccess
评论