Pencere ve Çalışma Zamanı Ortamı

Pencere ve Çalışma Zamanı Ortamı

Pencere ve Çalışma Zamanı Ortamı

Bazı belgeler bir gezinme ortamı — bir pencere, bir konum, depolama, olaylar — varsayar. Bu katman bu nesneleri saf Python içinde modeller, böylece bu belgeler tarayıcı olmadan sunucu tarafında işlenebilir.


Pencere Nesnesi

Window ortamı sabitler, WindowEventLoop olay işleme sürecini yönlendirir ve Screen, VisualViewport ve BarProp görüntüyle ilgili durumu modeller. BrowsingContext bir pencereyi belgesine bağlar.

Gezinti Durumu

Location ve History adres ve oturum geçmişini modeler; Navigator ortam kimliğini raporlar, set_default_user_agent() aracılığıyla yapılandırılabilir.

Olaylar

EventTarget arayüzü, Event ailesi — CustomEvent, UIEvent, MouseEvent, KeyboardEvent, FocusEvent, InputEvent, PopStateEvent, HashChangeEvent, ErrorEvent — standart olay dağıtımını uygular. AbortController ve AbortSignal iptali sağlar.

Depolama ve Mesajlaşma

Storage, anahtar-değer web depolamasını modellemektedir. MessageChannel, MessagePort ve BroadcastChannel, mesaj iletimini kapsar, arkasında yapılandırılmış-klon yardımcıları (clone_value) bulunur.

Gözlemciler ve Performans

IntersectionObserver ve ResizeObserver (giriş türleriyle birlikte) gözlem API’lerini modeller, Performance, PerformanceEntry ve Console ise yaygın olarak temas edilen çalışma zamanı hizmetleri betiklerini tamamlar.


İpuçları ve En İyi Uygulamalar

  • Bu katmana yalnızca ortam durumuna gerçekten bağımlı belgeleri işlerken dokunun — ayrıştırma ve stil verme asla buna ihtiyaç duymaz.
  • Aşağı akış mantığı Navigator kimliğine göre dallandığında set_default_user_agent() kullanın.
  • Temiz iptal için AbortSignal‘ı uzun süren işleme bağlayın

Yaygın Sorunlar

SorunNedenDüzeltme
Betik, window global değişkenlerini bekliyorTarayıcılar için hazırlanmış belgeWindow ortam katmanını sağlayın
Olaylar hiçbir zaman tetiklenmezDağıtımı yönlendiren bir olay döngüsü yokKullan WindowEventLoop
Kullanıcı aracısına bağımlı dal hatalı davranıyorEtkin varsayılan UA dizesiset_default_user_agent() aracılığıyla ayarlanır

FAQ

HTML’ı ayrıştırmak için bir Window’a ihtiyacım var mı?

Hayır — ortam katmanı isteğe bağlıdır; ayrıştırma, CSSOM ve yerleşim ondan bağımsızdır.

Hangi olay türleri modelleniyor?

Standart aile: UI, fare, klavye, odak, giriş, popstate, hashchange, hata ve özel olaylar, hepsi EventTarget üzerinden dağıtılır.

Web depolama kalıcı mı?

Storage, işleme amaçları için API yüzeyini modellemektedir; kalıcılık gömülü uygulamaya bağlıdır.


API Reference Özeti

Sınıf/YöntemAçıklama
WindowGezinti ortamı bağlantı noktası
LocationAdres durumu
HistoryOturum geçmişi
EventTargetOlay gönderim arayüzü
AbortControllerİptal denetleyicisi
IntersectionObserverKesişim gözlemi
set_default_user_agentNavigator kimliğini yapılandır

Ayrıca Bakınız

 Türkçe