Finestra e Runtime Environment

Finestra e Runtime Environment

Finestra e Ambiente di Runtime

Alcuni documenti presumono un ambiente di navigazione — una finestra, una posizione, storage, eventi. Questo livello modella quegli oggetti in puro Python così tali documenti possono essere elaborati lato server senza un browser.


L’oggetto Window

Window ancorra l’ambiente, con WindowEventLoop che gestisce l’elaborazione degli eventi, e Screen, VisualViewport e BarProp che modellano lo stato relativo alla visualizzazione. BrowsingContext collega una finestra al suo documento.

Stato di Navigazione

Location e History modellano l’indirizzo e la cronologia della sessione; Navigator segnala l’identità dell’ambiente, configurabile tramite set_default_user_agent().

Eventi

L’interfaccia EventTarget con la famiglia Event — CustomEvent, UIEvent, MouseEvent, KeyboardEvent, FocusEvent, InputEvent, PopStateEvent, HashChangeEvent, ErrorEvent — implementa la dispatch di eventi standard. AbortController e AbortSignal forniscono la cancellazione.

Archiviazione e Messaggistica

Storage modella l’archiviazione web chiave-valore. MessageChannel, MessagePort e BroadcastChannel coprono il passaggio di messaggi, con helper structured-clone (clone_value) dietro di essi.

Osservatori e Prestazioni

IntersectionObserver e ResizeObserver (con i loro tipi di entry) modellano le API di osservazione, mentre Performance, PerformanceEntry e Console completano gli script dei servizi di runtime a cui si fa comunemente riferimento.


Suggerimenti e Buone Pratiche

  • Modificate questo livello solo quando si elaborano documenti che dipendono realmente dallo stato dell’ambiente — l’analisi e lo styling non lo richiedono mai.
  • Usa set_default_user_agent() quando la logica a valle si dirama in base all’identità di Navigator.
  • Collega AbortSignal all’elaborazione a lungo termine per una cancellazione pulita

Problemi comuni

ProblemaCausaCorrezione
Lo script si aspetta le variabili globali di windowDocumento creato per i browserFornire lo strato ambientale Window
Gli eventi non vengono mai attivatiNessun ciclo di eventi che gestisce la distribuzioneUsa WindowEventLoop
Il ramo dipendente dall’user-agent si comporta in modo anomaloStringa UA predefinita in vigoreImpostato tramite set_default_user_agent()

FAQ

Ho bisogno di una Window per analizzare HTML?

No — lo strato ambientale è opzionale; l’analisi, il CSSOM e il layout sono indipendenti da esso.

Quali tipi di evento sono modellati?

La famiglia standard: UI, mouse, tastiera, focus, input, popstate, hashchange, error e eventi personalizzati, tutti inviati tramite EventTarget.

Lo storage web è persistente?

Storage modella la superficie API per scopi di elaborazione; la persistenza è a discrezione dell’applicazione di embedding.


Riepilogo API Reference

Classe/MetodoDescrizione
WindowAncora dell’ambiente di navigazione
LocationStato dell’indirizzo
HistoryCronologia della sessione
EventTargetInterfaccia di dispatch degli eventi
AbortControllerController di annullamento
IntersectionObserverOsservazione dell’intersezione
set_default_user_agentConfigura l’identità di Navigator

Vedi anche

 Italiano