[英]Bowser for iOS getUserMedia is undefined
我試圖讓 WebRTC 與 iOS 的Bowser瀏覽器一起工作。但無論我嘗試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 注入太晚(或根本沒有注入)。 這是一個 iOs 的 webview 問題。 但是 bowser 的團隊說他們已經用新的控件而不是 Web 視圖替換了它,而是用較新的控件(不記得名字,抱歉)。
navigator.mediaDevices.getUserMedia(..)
Safari 11 及更高版本應得到全面支持。 它只能從 SSL 域訪問,因此如果在本地開發,請嘗試將https://
前綴添加到您的別名。 https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.