2016-03-02 2 views
0

У меня есть веб-приложение, что открывает камеру, используя решение здесь:Как обнаружить резюме веб-приложения после возвращения с открытия камеры?

How to access a mobile's camera from a web app?

Но, как я могу запустить функцию обратного вызова, когда я вернусь из приложения камеры обратно в веб-приложение?

Благодаря

+0

Вы можете использовать события размытия и фокусировки относительно окна. См. Http://stackoverflow.com/questions/1760250/how-to-tell-if-browser-tab-is-active –

+0

Я пробовал это, но он не срабатывал, когда я открывал камеру. – omega

ответ

0

Вы сказали, что пробовали методы размытия/фокус, но вы пытаетесь видимость апи за https://stackoverflow.com/a/19519701/6004366?

Я написал короткий сценарий и протестировал его, перейдя на камеру, а затем обратно, и он регистрирует как то, что он потерял видимость, так и восстановил ее.

<!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> 
Смежные вопросы