Ste*_*gle 3 javascript clojurescript
getUserMedia有许多前缀,在许多浏览器中仍然是必需的.我试图通过将所有前缀放入来隐藏这些前缀的使用getUserMedia.
(def getUserMedia
(or js/navigator.getUserMedia
js/navigator.webkitGetUserMedia
js/navigator.mozGetUserMedia
js/navigator.msGetUserMedia))
(defn start-fx [app]
(if getUserMedia
(getUserMedia
;; WORKS IF I REPLACE THE ABOVE getUserMedia WITH
;; js/navigator.webkitGetUserMedia USING CHROME BROWSER
#js {:video true :audio true}
#(om/update! app :record-src (.createObjectURL js/window.URL %))
#(throw %))
(js/alert "This browser does not support video recording!")))
Run Code Online (Sandbox Code Playgroud)
当我然后尝试从中调用它时start-fx,我得到了一个Uncaught TypeError: Illegal invocation调用getUserMedia.我该怎么做才能让我的代码与浏览器兼容?
getUserMedia必须绑定到该navigator对象.相同的JavaScript将是这样的:
var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || msGetUserMedia;
if (getUserMedia) {
getUserMedia = getUserMedia.bind(navigator);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |