Firefox 从不解析 navigator.mediaDevices.getUserMedia()

Firefox never resolving navigator.mediaDevices.getUserMedia()

我正在尝试使用新的基于 Promise 的 WebRTC/Media 工具,以便在用户允许访问摄像头 and/or 麦克风时获得反馈,如此处所述 https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia

以下代码片段,简单地注入了浏览器的开发人员工具,在授予访问权限时从未在 Firefox 上实现 Promise,但在 Chrome 上它按预期工作。

(使用 Firefox 53 32 位、Chrome 59 64 位测试)

navigator.mediaDevices.getUserMedia({
        "audio": true, 
        "video": true
    })
      .then(() => console.log("OK!"))
      .catch(() => console.log("NOPE"))

Promise 似乎永远悬而未决。

重现步骤:

  1. 打开任何 https 加密页面(因此 firefox 不会抱怨)
  2. 打开开发者工具,进入控制台
  3. 粘贴上面的代码片段
  4. 允许camera/microphone在弹出窗口中访问

这是 Firefox 中的错误还是代码片段有问题? 为了遵守 MDN 文档,我还尝试使用 good'ol 函数而不是 ES6 箭头函数 - 具有相同的效果。

在 Firefox 53.0.3 中似乎没问题。我得到的输出如下:

禁用所有插件后(尤其是 NoScript - 即使在将 "scripts globally allowed" 设置为 true 后)它似乎 运行 就好了。

抱歉,我想提出不必要的问题,并感谢您再次确认我,问题不是 Firefox 本身,所以找到正确的解决方案!