加载 Ajax 时 getUserMedia() 不工作

getUserMedia() not working when loaded with Ajax

通过常规浏览器加载(不是 ajax)执行 navigator.getUserMedia() 工作正常:

 <script>
    if(navigator.getUserMedia) { 
        navigator.getUserMedia({audio: true}, startUserMedia, function(e) {
          __log('No live audio input: ' + e);
        });             
    } else {
          __log('fail ');
    }
 </script>

但是当我尝试通过 $.getScript 或在 $.ajax 加载的文档中加载此脚本时,它似乎根本没有执行。奇怪的是,它没有执行成功的函数startUserMedia,也没有执行记录"no live audio input"的函数。

执行方法navigator.getUserMedia()与Ajax是否不兼容?

我已经通读了 docs 但我看不到任何可以说明这一点的内容。任何帮助/评论/指导将不胜感激,过去几天我一直在研究这个问题但没有成功。

Ajax 正在加载的文档要点:https://gist.github.com/markbratanov/859df0b1a70d1e15446c

就我而言,如果其他人也是同样的情况,getUserMedia()是一种方法,如果通过Ajax加载,将无法正常工作。不确定为什么,但我已经 运行 多次测试,但都失败了。

使用 getUserMedia 的最佳方法是在浏览器加载时。

至少是我的看法。希望这对某人有帮助。