Ventana y Entorno de Ejecución

Ventana y Entorno de Ejecución

Ventana y Entorno de Tiempo de Ejecución

Algunos documentos asumen un entorno de navegación — una ventana, una ubicación, almacenamiento, eventos. Esta capa modela esos objetos en puro Python para que dichos documentos puedan procesarse del lado del servidor sin un navegador.


El objeto Window

Window ancla el entorno, con WindowEventLoop impulsando su procesamiento de eventos, y Screen, VisualViewport y BarProp modelando el estado relacionado con la visualización. BrowsingContext vincula una ventana a su documento.

Estado de Navegación

Location y History modelan la dirección y el historial de sesión; Navigator informa la identidad del entorno, configurable mediante set_default_user_agent().

Eventos

La interfaz EventTarget de la familia Event — CustomEvent, UIEvent, MouseEvent, KeyboardEvent, FocusEvent, InputEvent, PopStateEvent, HashChangeEvent, ErrorEvent — implementa la distribución de eventos estándar. AbortController y AbortSignal proporcionan cancelación.

Almacenamiento y Mensajería

Storage modela el almacenamiento web de pares clave-valor. MessageChannel, MessagePort y BroadcastChannel cubren el paso de mensajes, con ayudantes de clonación estructurada (clone_value) detrás de ellos.

Observadores y Rendimiento

IntersectionObserver y ResizeObserver (con sus tipos de entrada) modelan APIs de observación, mientras que Performance, PerformanceEntry y Console completan los scripts de servicios de tiempo de ejecución que se usan comúnmente.


Consejos y Mejores Prácticas

  • Solo manipule esta capa cuando procese documentos que realmente dependan del estado del entorno — el análisis y el estilo nunca lo requieren.
  • Utilice set_default_user_agent() cuando la lógica descendente ramifique según la identidad de Navigator.
  • Conectar AbortSignal al procesamiento de larga duración para una cancelación limpia

Problemas comunes

ProblemaCausaSolución
Script espera variables globales de windowDocumento creado para navegadoresProporcione la capa de entorno Window
Los eventos nunca se disparanNo hay bucle de eventos que impulse el despachoUsar WindowEventLoop
La rama dependiente del agente de usuario funciona incorrectamenteCadena UA predeterminada en vigorEstablecido mediante set_default_user_agent()

FAQ

¿Necesito una ventana para analizar HTML?

No — la capa de entorno es opcional; el análisis, CSSOM y el diseño son independientes de ella.

¿Qué tipos de eventos están modelados?

La familia estándar: UI, mouse, teclado, foco, entrada, popstate, hashchange, error y eventos personalizados, todos despachados a través de EventTarget.

¿El almacenamiento web es persistente?

Storage modela la superficie API para propósitos de procesamiento; la persistencia depende de la aplicación de incrustación.


Resumen de API Reference

Clase/MétodoDescripción
WindowAncla del entorno de navegación
LocationEstado de la dirección
HistoryHistorial de sesión
EventTargetInterfaz de despacho de eventos
AbortControllerControlador de cancelación
IntersectionObserverObservación de intersección
set_default_user_agentConfigurar identidad de Navigator

Ver también

 Español