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.)

Ответы на вопрос(1)

Ваш ответ на вопрос