Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

161
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda