Firefox navigator MediaDevices getUserMedia不允许出错

Firefox navigator MediaDevices getUserMedia不允许出错,firefox,getusermedia,Firefox,Getusermedia,我突然得到了一个navigator.MediaDevices.getUserMedia notAllowedError,而我一个月前还没有遇到这个错误。没有代码更改。我正在使用firefox 68.01。问题发生在我在AWS上运行文件时,而不是在本地运行文件时。我刷新了firefox,但没用。在安全模式下启动不起作用。就像我说的,这以前工作得很好,可以在本地工作,但不能在服务器上工作。如何对此进行故障排除 “当前上下文中的用户代理或平台不允许该请求”getUserMedia现在即使在Firefo

我突然得到了一个navigator.MediaDevices.getUserMedia notAllowedError,而我一个月前还没有遇到这个错误。没有代码更改。我正在使用firefox 68.01。问题发生在我在AWS上运行文件时,而不是在本地运行文件时。我刷新了firefox,但没用。在安全模式下启动不起作用。就像我说的,这以前工作得很好,可以在本地工作,但不能在服务器上工作。如何对此进行故障排除


“当前上下文中的用户代理或平台不允许该请求”

getUserMedia
现在即使在Firefox中也需要安全连接(
https

在Firefox68中,这表现为一个
不允许的错误
,这就是Chrome直到最近的工作方式

从Firefox 69开始,在不安全的连接(
http
)中,
getUserMedia
方法将完全不存在,这与Chrome的功能和当前的工作方式相匹配

http://localhost
但是仍然可以工作,因为它现在被认为是安全的

发件人:

Firefox68行为 在Firefox 68中,getUserMedia仍然存在,但从中返回的承诺将始终被拒绝,并带有NotAllowedError,而Enumerative设备将继续工作到Firefox 69。这与Chrome在很长一段时间内(Chrome74之前)的工作方式相匹配,并且应该与web高度兼容。它是Firefox 69的中间垫脚石

Firefox 69行为 在Firefox69中,getUserMedia和enumerateDevices都会抛出TypeError。这与Chrome 74+和规范现在的工作方式相匹配

值得指出的是,此TypeError异常将源于不安全上下文中缺少navigator.mediaDevices对象,或者,如果使用回调,则源于缺少不推荐的navigator.mozGetUserMedia函数。在调用navigator.mediaDevices.getUserMedia()之前未对此进行测试的任何JavaScript都将立即抛出异常,而不仅仅是拒绝其承诺。与Firefox68相比,这可能会影响周围的代码,因此需要两个步骤


gUM对于要求包含它的页面通过TLS(https)提供服务或它不起作用的要求很强硬。有时从本地主机移动到服务器会导致问题。是的,这就是问题所在。Firefox有一个about:config设置,允许它工作。media.getusermedia.Unsecure.enabled。我将其设置为true,并且能够在没有http的情况下使用它。@techdog从Firefox 69开始,您还需要设置
media.devices.unsecure.enabled
,该pref才能工作。