我正在尝试让 WebRTC 与 Bowser 一起工作iOS 浏览器。但无论我尝试 navigator.getUserMedia
都是未定义的。
我正在运行 iOS 8.3 的 iPhone6 上测试该页面。
我是这样设置的:
var localMediaStream;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
window.onload = function() {
var video = document.getElementById('video');
navigator.getUserMedia({video: true}, function(stream) {
video.src = window.URL.createObjectURL(stream);
localMediaStream = stream;
}, function(err) {
if(err) throw err;
});
};
我得到的错误是:
TypeError: undefined is not a function (evaluating 'navigator.getUserMedia')
如果我不直接检测并使用 navigator.webkitGetUserMedia
(据我了解,这是 Bower 中应该存在的方法),我会得到同样的错误。
这样做
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
在加载中
但对我来说,第一次打开页面时它不起作用。 页面刷新后就可以了。
UPD:这是因为 Bowser 的 javascript 注入(inject)得太晚(或根本没有注入(inject))。这是一个 iOs 的 webview 问题。但是 bowser 的团队说他们已经用新的控件而不是 web View 替换了它(不记得名字,抱歉)。
关于javascript - Bowser for iOS getUserMedia 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791540/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |