Javascript 如何在打开摄像头返回后检测web应用程序的恢复?
我有一个web应用程序,可以使用以下解决方案打开摄像头: 但是,当我从摄像头应用程序返回web应用程序时,如何运行回调函数Javascript 如何在打开摄像头返回后检测web应用程序的恢复?,javascript,html,camera,Javascript,Html,Camera,我有一个web应用程序,可以使用以下解决方案打开摄像头: 但是,当我从摄像头应用程序返回web应用程序时,如何运行回调函数 谢谢您说过您尝试过模糊/聚焦方法,但您是否尝试过可见性api 我写了一个简短的脚本并进行了测试,去了我的相机,然后又回来了,它记录了它失去了可视性并重新获得了它 <!DOCTYPE html> <html> <head> <title></title> </head> <body>
谢谢您说过您尝试过模糊/聚焦方法,但您是否尝试过可见性api 我写了一个简短的脚本并进行了测试,去了我的相机,然后又回来了,它记录了它失去了可视性并重新获得了它
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<input type="file" accept="image/*" capture="camera">
<ul id="log">
</ul>
<script type="text/javascript">
var vis = (function(){
var stateKey, eventKey, keys = {
hidden: "visibilitychange",
webkitHidden: "webkitvisibilitychange",
mozHidden: "mozvisibilitychange",
msHidden: "msvisibilitychange"
};
for (stateKey in keys) {
if (stateKey in document) {
eventKey = keys[stateKey];
break;
}
}
return function(c) {
if (c) document.addEventListener(eventKey, c);
return !document[stateKey];
}
})();
vis(function(){
var logitem = vis() ? 'Visible' : 'Not visible';
var loglist = document.getElementById("log");
var node = document.createElement("LI");
var textnode = document.createTextNode(logitem);
node.appendChild(textnode);
loglist.appendChild(node);
});
</script>
</body>
</html>
var vis=(函数(){
var stateKey、eventKey、key={
隐藏:“可视性更改”,
webkitHidden:“webkitvisibilitychange”,
mozHidden:“mozvisibilitychange”,
msHidden:“msvisibilitychange”
};
for(状态键输入键){
if(文档中的stateKey){
eventKey=keys[stateKey];
打破
}
}
返回函数(c){
如果(c)文件。添加事件列表器(事件键,c);
return!文档[stateKey];
}
})();
vis(函数(){
var logitem=vis()?“可见”:“不可见”;
var loglist=document.getElementById(“日志”);
var节点=document.createElement(“LI”);
var textnode=document.createTextNode(logitem);
node.appendChild(textnode);
loglist.appendChild(节点);
});
您说过您尝试过模糊/聚焦方法,但您是否尝试过可见性api
我写了一个简短的脚本并进行了测试,去了我的相机,然后又回来了,它记录了它失去了可视性并重新获得了它
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<input type="file" accept="image/*" capture="camera">
<ul id="log">
</ul>
<script type="text/javascript">
var vis = (function(){
var stateKey, eventKey, keys = {
hidden: "visibilitychange",
webkitHidden: "webkitvisibilitychange",
mozHidden: "mozvisibilitychange",
msHidden: "msvisibilitychange"
};
for (stateKey in keys) {
if (stateKey in document) {
eventKey = keys[stateKey];
break;
}
}
return function(c) {
if (c) document.addEventListener(eventKey, c);
return !document[stateKey];
}
})();
vis(function(){
var logitem = vis() ? 'Visible' : 'Not visible';
var loglist = document.getElementById("log");
var node = document.createElement("LI");
var textnode = document.createTextNode(logitem);
node.appendChild(textnode);
loglist.appendChild(node);
});
</script>
</body>
</html>
var vis=(函数(){
var stateKey、eventKey、key={
隐藏:“可视性更改”,
webkitHidden:“webkitvisibilitychange”,
mozHidden:“mozvisibilitychange”,
msHidden:“msvisibilitychange”
};
for(状态键输入键){
if(文档中的stateKey){
eventKey=keys[stateKey];
打破
}
}
返回函数(c){
如果(c)文件。添加事件列表器(事件键,c);
return!文档[stateKey];
}
})();
vis(函数(){
var logitem=vis()?“可见”:“不可见”;
var loglist=document.getElementById(“日志”);
var节点=document.createElement(“LI”);
var textnode=document.createTextNode(logitem);
node.appendChild(textnode);
loglist.appendChild(节点);
});
您可以对窗口使用模糊和聚焦事件。看:我试过了,但是当我打开相机的时候它没有启动。你可以对窗口使用模糊和聚焦事件。看:我试过了,但当我打开相机时,它没有开火。