Javascript 如何在打开摄像头返回后检测web应用程序的恢复?

Javascript 如何在打开摄像头返回后检测web应用程序的恢复?,javascript,html,camera,Javascript,Html,Camera,我有一个web应用程序,可以使用以下解决方案打开摄像头: 但是,当我从摄像头应用程序返回web应用程序时,如何运行回调函数 谢谢您说过您尝试过模糊/聚焦方法,但您是否尝试过可见性api 我写了一个简短的脚本并进行了测试,去了我的相机,然后又回来了,它记录了它失去了可视性并重新获得了它 <!DOCTYPE html> <html> <head> <title></title> </head> <body>

我有一个web应用程序,可以使用以下解决方案打开摄像头:

但是,当我从摄像头应用程序返回web应用程序时,如何运行回调函数


谢谢

您说过您尝试过模糊/聚焦方法,但您是否尝试过可见性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(节点); });
您可以对窗口使用模糊和聚焦事件。看:我试过了,但是当我打开相机的时候它没有启动。你可以对窗口使用模糊和聚焦事件。看:我试过了,但当我打开相机时,它没有开火。