Window en Runtime-omgeving

Window en Runtime-omgeving

Window and Runtime-omgeving

Sommige documenten gaan uit van een browsing environment — een window, een location, storage, events. Deze layer modelleert die objecten in pure Python zodat dergelijke documenten server-side verwerkt kunnen worden zonder een browser.


Het Window Object

Window verankert de omgeving, met WindowEventLoop die de event verwerking aandrijft, en Screen, VisualViewport en BarProp modelleren display-gerelateerde status. BrowsingContext koppelt een window aan zijn document.

Navigatie-status

Location en History modelleren het adres en de session history; Navigator rapporteert de omgevingidentiteit, configureerbaar via set_default_user_agent().

Events

De EventTarget interface met de Event familie — CustomEvent, UIEvent, MouseEvent, KeyboardEvent, FocusEvent, InputEvent, PopStateEvent, HashChangeEvent, ErrorEvent — implementeert standaard event dispatch. AbortController en AbortSignal bieden annulering.

Storage en Messaging

Storage modelleert key-value web storage. MessageChannel, MessagePort en BroadcastChannel behandelen message passing, met structured-clone helpers (clone_value) erachter.

Observers en Performance

IntersectionObserver en ResizeObserver (met hun entry types) modelleren observatie-API’s, terwijl Performance, PerformanceEntry en Console de runtime-servicescripts afronden die vaak worden aangeraakt.


Tips en Best Practices

  • Raak alleen deze layer aan bij het verwerken van documenten die echt afhankelijk zijn van de omgevingstoestand — parsing en styling vereisen het nooit
  • Gebruik set_default_user_agent() wanneer downstreamlogic vertakt op Navigator identiteit
  • Koppel AbortSignal aan langdurige verwerking voor schone annulering

Veelvoorkomende problemen

ProbleemOorzaakOplossing
Script verwacht window globalsDocument geschreven voor browsersVoorzie de Window omgeving layer
Events worden nooit geactiveerdGeen event loop die dispatch aanstuurtGebruik WindowEventLoop
User-agent-afhankelijke tak werkt niet correctStandaard UA-string van krachtInstellen via set_default_user_agent()

FAQ

Heb ik een Window nodig om HTML te parseren?

Nee — de environment layer is optioneel; parsing, CSSOM en layout zijn onafhankelijk daarvan.

Welke event types worden gemodelleerd?

De standaardfamilie: UI, muis, toetsenbord, focus, invoer, popstate, hashchange, fout en aangepaste events, allemaal verzonden via EventTarget.

Is webopslag persistent?

Storage modelleert het API oppervlak voor verwerkingsdoeleinden; persistentie is aan de insluitende toepassing.


API Reference Samenvatting

Klasse/MethodeBeschrijving
WindowBrowsing environment anker
LocationAdresstatus
HistorySessiegeschiedenis
EventTargetGebeurtenisverzendinterface
AbortControllerAnnuleringscontroller
IntersectionObserverIntersectie-observatie
set_default_user_agentConfigureer Navigator identiteit

Zie ook

 Nederlands