尝试在html5中访问网络摄像头:Firefox工作,Chrome和Opera don't
Trying to access webcam in html5: Firefox works, Chrome and Opera don't
我正试图通过javascript访问我的网络摄像头。当我使用下面的最小示例时,我希望至少看到一个弹出窗口,请求访问网络摄像头的权限。
这适用于Firefox,但不适用于Chrome或Opera(所有最新版本)。
显然,这里还没有显示实际的网络摄像头内容,我只是启动GetUserMedia
(或其特定于浏览器的变体),但即使这样也不起作用。我没有得到"是"或"否"弹出窗口(在Firefox上除外)。
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script>
function OnSuccess(stream) { alert('yes') }
function OnError(error) { alert('nope') }
function OnLoad()
{
navigator.anyGetUserMedia = navigator.getUserMedia
|| navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia
|| navigator.msGetUserMedia;
navigator.anyGetUserMedia( {video:true, audio:false}, OnSuccess, OnError );
}
</script>
</head>
<body onload='OnLoad()'>
</body>
</html>
现在奇怪的是,当我在jsfiddle上使用完全相同的代码时,它确实有效
现场示例:http://jsfiddle.net/999anu81/(如果你有网络摄像头,这应该请求访问权限)
我做错了什么?
Chrome对何时允许getUserMedia有一些限制,以避免页面困扰用户,IIRC。将它附加到按钮上,而不是使用onload,它应该会更好地工作。
相关文章:
- Aloha Editor不适用于Opera,有时也不适用于Chrome
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- 这个jQuery代码在Mozilla上运行良好,但在Chrome,Opera,Safari上则不然
- Chrome、Firefox 或 opera 预加载更改
- 支持 JavaScript 的检查例程适用于 Chrome/Opera/IE,但不适用于 Firefox/Safari
- 如果用户的浏览器早于以下版本,则显示一条消息:IE 10、Firefox 39、Chrome 39、Opera 8
- Ctrl+鼠标滚轮缩放在Chrome和Opera中无法使用某些WP主题
- 我的简单Javascript代码可以在Safari上运行,但不能在Chrome、Firefox或Opera上运行
- Chrome和Opera中的Javascript错误
- 地图 API v3 - Chrome 和 Opera 不显示标记
- 如何在加载javascript时检测Safari,Chrome,IE,Firefox和Opera浏览器
- 网址栏/全能栏中的 Opera/Chrome 上下文菜单
- Element 没有显示在 FireFox 和 Opera 上,但在 Chrome 和 Safari 上可以正常工作
- .load() 适用于 IE 和 dreamweaver 预览版,但不能使用 opera 和 chrome
- 谷歌地图js不显示在chrome或opera中
- 删除cookie(PHP,JS)适用于Firefox,Safari,Opera,但不适用于Chrome
- 未在火狐浏览器的选择列表中选择值(适用于chrome,safari,opera)
- Javascript 适用于 Chrome 和 Opera & Edge,但不适用于 FireFox 或 IE
- JavaScript代码只能在Chrome中使用,但不能在Firefox、IE、Opera和Safari中使用
- Chrome和Opera中的复选框切换