Window ו Runtime Environment

Window ו Runtime Environment

חלון וסביבת זמן ריצה

חלק מהמסמכים מניחים סביבת גלישה — חלון, מיקום, אחסון, אירועים. שכבה זו ממדלת את האובייקטים האלה ב-Python טהור כך שהמסמכים הללו יכולים להיות מעובדים בצד השרת ללא דפדפן.


אובייקט החלון

Window מעגן את הסביבה, עם WindowEventLoop שמניע את עיבוד האירועים שלה, ו-Screen, VisualViewport ו-BarProp ממדלים מצב הקשור לתצוגה. BrowsingContext קושר חלון למסמכו.

מצב ניווט

Location ו-History ממדלים את הכתובת וההיסטוריה של המושב; Navigator מדווח על זהות הסביבה, ניתנת להגדרה דרך set_default_user_agent().

אירועים

הממשק EventTarget עם משפחת Event — CustomEvent, UIEvent, MouseEvent, KeyboardEvent, FocusEvent, InputEvent, PopStateEvent, HashChangeEvent, ErrorEvent — מיישם שליחת אירועים לפי תקנים. AbortController ו-AbortSignal מספקים ביטול.

אחסון והודעות

Storage מודל אחסון רשת של מפתח-ערך. MessageChannel, MessagePort ו-BroadcastChannel מכסים העברת הודעות, עם מסייעי structured-clone (clone_value) מאחוריהם.

צופים וביצועים

IntersectionObserver ו-ResizeObserver (עם סוגי הכניסה שלהם) ממדלים API של תצפית, בעוד Performance, PerformanceEntry ו-Console משלימים את סקריפטי שירותי זמן הריצה שנוגעים בהם בדרך כלל.


טיפים ושיטות עבודה מומלצות

  • יש לגעת בשכבה זו רק בעת עיבוד מסמכים שתלויים באמת במצב הסביבה — ניתוח ועיצוב אף פעם אינם דורשים זאת.
  • השתמש ב-set_default_user_agent() כאשר הלוגיקה התחתונה מתפצלת על זהות Navigator
  • חבר את AbortSignal לעיבוד ארוך-טווח לצורך ביטול נקי

בעיות נפוצות

בעיהסיבהתיקון
הסקריפט מצפה ל-globals של Windowמסמך נכתב עבור דפדפניםספק את שכבת הסביבה Window
אירועים לעולם לא מתרחשותאין לולאת אירועים שמניעה dispatchהשתמש WindowEventLoop
הענף התלוי ב-User-agent מתנהג באופן שגוימחרוזת UA ברירת המחדל בתוקףהוגדר באמצעות set_default_user_agent()

FAQ

האם אני צריך Window כדי לנתח HTML?

לא — ה-environment layer הוא אופציונלי; ניתוח, CSSOM ו-layout הם בלתי תלויים בו.

אילו סוגי event מודלים?

המשפחה הסטנדרטית: UI, mouse, keyboard, focus, input, popstate, hashchange, error, ו-custom events, כולם נשלחים דרך EventTarget.

האם web Storage מתמיד?

Storage ממדד את משטח ה-API למטרות עיבוד; האחסון תלוי ביישום המוטמע.


API Reference סיכום

מחלקה/מתודהתיאור
WindowBrowsing environment עוגן
Locationמצב כתובת
Historyהיסטוריית המושב
EventTargetממשק הפצת אירועים
AbortControllerבקר ביטול
IntersectionObserverתצפית חיתוך
set_default_user_agentהגדר זהות Navigator

ראה גם

 עברית