Okno a běhové prostředí

Okno a běhové prostředí

Některé dokumenty předpokládají prohlížečské prostředí — okno, umístění, úložiště, události. Tato vrstva modeluje tyto objekty v čistém Python, aby mohly být takové dokumenty zpracovány na serveru bez prohlížeče.


Objekt okna

Window zakotvuje prostředí, WindowEventLoop řídí zpracování událostí a Screen, VisualViewport a BarProp modelují stav související s displejem. BrowsingContext spojuje okno s jeho dokumentem.

Stav navigace

Location a History modelují adresu a historii relace; Navigator hlásí identitu prostředí, konfigurovatelnou pomocí set_default_user_agent().

Události

Rozhraní EventTarget s rodinou Event — CustomEvent, UIEvent, MouseEvent, KeyboardEvent, FocusEvent, InputEvent, PopStateEvent, HashChangeEvent, ErrorEvent — implementuje standardní rozesílání událostí. AbortController a AbortSignal poskytují zrušení.

Úložiště a Zprávy

Storage modeluje klíč-hodnota webové úložiště. MessageChannel, MessagePort a BroadcastChannel pokrývají předávání zpráv, s pomocníky strukturovaného klonování (clone_value) v pozadí.

Pozorovatelé a Výkon

IntersectionObserver a ResizeObserver (s jejich typy vstupů) modelují API pro pozorování, zatímco Performance, PerformanceEntry a Console doplňují skripty runtime služeb, se kterými se běžně pracuje.


Tipy a osvědčené postupy

  • Tento vrstvu zasahujte pouze při zpracování dokumentů, které skutečně závisí na stavu prostředí — parsování a stylování ji nikdy nevyžadují.
  • Použijte set_default_user_agent(), když podřízená logika rozvětvuje na základě identity Navigator.
  • Propojte AbortSignal s dlouhodobým zpracováním pro čisté zrušení

Časté problémy

ProblémPříčinaOprava
Skript očekává globální proměnné windowDokument vytvořený pro prohlížečePoskytněte vrstvu prostředí Window
Události se nikdy nespustíŽádná smyčka událostí neřídí dispatchPoužijte WindowEventLoop
Větev závislá na user-agentu se chová nesprávněVýchozí řetězec UA je v platnostiNastaveno pomocí set_default_user_agent()

FAQ

Potřebuji okno pro parsování HTML?

Ne — vrstva prostředí je volitelná; parsování, CSSOM a rozvržení jsou na ní nezávislé.

Jaké typy událostí jsou modelovány?

Standardní rodina: UI, myš, klávesnice, focus, vstup, popstate, hashchange, error a vlastní události, všechny rozesílané přes EventTarget.

Je webové úložiště trvalé?

Storage modeluje povrch API pro účely zpracování; trvalost je na vložené aplikaci.


Shrnutí API Reference

Třída/MetodaPopis:
WindowKotva prohlížečového prostředí
LocationStav adresy
HistoryHistorie relace
EventTargetRozhraní rozesílání událostí
AbortControllerŘadič zrušení
IntersectionObserverPozorování průsečíku
set_default_user_agentNastavit identitu Navigátora

Viz také:

 Čeština