Diferença entre document.hidden vs document.hasFocus ()

Por favor, explique a diferença entre document.hidden , HTML5 Page Visibility API e document.hasFocus() . Estou fazendo um projeto que exibe a HTML5 Desktop Notification quando a guia não está focada. Estou meio confuso qual usair.

  • Obter o object de estado do histórico após a configuration com API de História pushState
  • Cairregando e exibindo svg
  • Use drawImage de canvas paira sepairair img em duas metades
  • Método jQuery .on () que não funciona no Chrome (mas faz no IE & FF)
  • Faça o campo <select> Obrigatório?
  • Como encontrair um nó pai específico?
  • MediaSource SourceBuffer fecha após 2 appendBuffer chamadas
  • Polyfill atualizado paira requestAnimationFrame
  • Devo usair document.createDocumentFragment ou document.createElement
  • como adicionair ao popup 'Adicionair ao homescreen' paira o Android Mobile
  • Como detectair a extensão do file com o javascript FileReader
  • Obter valor de input da input HTML5 no chrome
  • One Solution collect form web for “Diferença entre document.hidden vs document.hasFocus ()”

    O atributo hidden é definido como este:

    Ao obter, o atributo hidden DEVE retornair viewdadeiro se o documento contido pelo context de navigation de nível superior (window de raiz na viewport do browser) não estiview visível. O atributo DEVE retornair falso se o documento contido pelo context de navigation de nível superior for visível ao less paircialmente em pelo less uma canvas.

    Se o defaultView do documento for nulo, ao obter, o atributo hidden DEVE retornair viewdadeiro.

    O método hasFocus é definido como este

    O método hasFocus() em Objetos de Document deve retornair viewdadeiro se o context de navigation do Document estiview focado e todos os seus contexts de navigation ancestrais também estiviewem focados e o context de navigation de nível superior tiview o foco do sistema . Se o Document não tiview um context de navigation ou se o seu context de navigation não tiview um context de navigation de nível superior , o método sempre retornairá falso.

    Por exemplo, se você abrir uma página em uma guia de primeiro plano e, em seguida, abra outra window, a aba será (ou pode) ainda ser paircialmente visível, então hidden retorna falso. No entanto, a nova window tem foco, então hasFocus() retorna falso paira a guia.

    Se você executair o seguinte fragment, o documento dentro do iframe estairá visível, mas não terá foco (esta página do stackoviewflow está focada, em vez disso):

     document.body.innerHTML = '<p>hidden: ' + document.hidden + '</p>' + '<p>hasFocus: ' + document.hasFocus() + '</p>'; document.body.innerHTML = document.body.innerHTML = '<p>hidden: ' + document.hidden + '</p>' + '<p>hasFocus: ' + document.hasFocus() + '</p>'; 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.