Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
Detectar cuando un documento está "totalmente activo"

Al leer las especificaciones de varias API de JavaScript, es posible que se encuentre con el requisito de que el documento esté "totalmente activo" antes de poder utilizarlas. Aquí hay una definición de lo que eso significa de las especificaciones: https://html.spec.whatwg.org/multipage/browsers.html#fully-active

Lo que no está claro es cómo saber si el documento está completamente activo o no. Como ejemplo, la API de WakeLock requiere que el documento esté completamente activo. Si el documento no está completamente activo, llamar a "WakeLock.request()" rechazará la promesa devuelta con un objeto de error "NotAllowedError". Sin embargo, hay otras razones por las que podría devolver un "Error no permitido" y no especifica el motivo en un caso determinado.

Entonces, ¿cómo puedo determinar de manera proactiva si un documento está completamente activo antes de intentar usar las API que lo requieren?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Hay una sección de la página: https://html.spec.whatwg.org/multipage/browsers.html#active-document

Se dice que un documento d está completamente activo cuando el contexto de exploración de d no es nulo, el documento activo del contexto de exploración de d es d y el contexto de exploración de d es un contexto de exploración de nivel superior o el documento contenedor del contexto de exploración de d está completamente activo.

Mirando a tu pregunta:

Entonces, ¿cómo puedo determinar de manera proactiva si un documento está completamente activo antes de intentar usar las API que lo requieren?

ampliemos las reglas:

  • el contexto de navegación de d no es nulo
  • El documento activo del contexto de navegación de d es d
  • el contexto de navegación de d es un contexto de navegación de nivel superior o el documento contenedor del contexto de navegación de d está completamente activo

Creo que eso se puede traducir a ese código javascript, pero no estoy 100% seguro de eso:

 function isFullyActive(s /* self */) { return s.window !== null && s.document === s.window.document && (s.window.top === s.window || isFullyActive(s.window.parent)); } // you can use in this way on a top level javascript: isFullyActive(self)

No encontré ninguna API/especificación que diga sobre un evento o método para verificar si un documento está completamente activo.

Referencias:

  • Contexto del navegador: ¿Cómo acceder al "contexto de navegación" en JavaScript?
  • Contexto de navegación anidado: https://www.w3.org/TR/2011/WD-html5-20110525/browsers.html#nested-browsing-context
  • Definición de completamente activo cambiado: https://github.com/whatwg/html/issues/388
  • ventana.parent: https://developer.mozilla.org/en-US/docs/Web/API/Window/parent
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda