getUserMedia () в JavaScript нормализуется во всех браузерах. Незаконное обращение
Когда я пытаюсь сделать следующее:
var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
// now I try to invoke it with some parameters:
getUserMedia(...) // not working!
Выдает ошибку «Незаконный вызов» в Chrome.
Но если я сделаю:
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
// now invoke it with the navigator
navigator.getUserMedia(..) // Works
Я попытался немного поискать, и я прочитал, что это проблема контекста. Но я все еще не мог понять, что это значит. В первом примере переменная getUserMedia заканчивает тем, что получает ссылку на функцию, которая не является неопределенной (то есть, в случае chrome, это webkitGetUserMedia), так почему я не могу вызвать ее с помощью этой переменной?
(На самом деле это общий вопрос JavaScript, не относящийся кWebRTC.)