JavaScript Bağlamı

JavaScript Bağlam

Scripting katmanı, birine ihtiyaç duyan belgeler için kontrollü bir JavaScript değerlendirme bağlamı sağlar. Bilerek politika odaklıdır: modül çözümlemesi açıkça yapılır ve hatalar tiplenmiş istisnalar olarak ortaya çıkar.


Değerlendirme Bağlamı

JSContext betik değerlendirmesini barındırır. Değerlendirme sırasında ortaya çıkan hatalar JSEvaluationError olarak görüntülenir, böylece betik hataları Python-tarafı hatalardan ayrı tutulur.

Modül Yükleme

Modül çözümlemesi ModuleRegistry tarafından yönetilir; bu, modül belirteçlerini uygulamalara eşler. Eksik modüller, sessizce taslak döndürmek yerine ModuleNotFoundError (kütüphanenin kendi tiplenmiş hatası) oluşturur.

Yükleme Politikaları

ModuleLoadPolicy bir bağlamın neyi yükleyebileceğini kontrol eder — keyfi modül erişiminin istenmediği sunucu tarafı işleme sırasında betik davranışını sandbox’lamak için mekanizma.


İpuçları ve En İyi Uygulamalar

  • İşleme senaryonuzun ihtiyaç duyduğu modülleri yalnızca kaydedin; küçük bir kayıt defteri sandbox’tur.
  • JSEvaluationError‘i genel istisnalardan ayrı yakalayarak betik hatalarını boru hattı hatalarından ayırın.
  • ModuleNotFoundError‘i ölümcül bir durum yerine bir politika sinyali olarak ele alın — genellikle girdinin, sağlamadığınız bir tarayıcı API’i beklediği anlamına gelir.

Yaygın Sorunlar

SorunNedenDüzeltme
ModuleNotFoundError değerlendirme sırasındaModül kaydedilmediModuleRegistry içine ekleyin veya politikayı ayarlayın
Betik hatası, işlem hattını çökertiyorJSEvaluationError yakalanmadıDeğerlendirme sınırında ele alın
Beklenmeyen modül erişimiPolitika çok izin vericiSıkılaştır ModuleLoadPolicy

FAQ

Ayrıştırma için betik değerlendirmesi gerekli mi?

Hayır — ayrıştırma, CSSOM ve yerleşim, herhangi bir betik bağlamı olmadan çalışır.

Betiklerin neyi içe aktarabileceğini nasıl kontrol ederim?

ModuleRegistry (ne mevcut) ve ModuleLoadPolicy (ne yüklenebilir) aracılığıyla.

Betik hataları nasıl ortaya çıkar?

Python tarafında JSEvaluationError istisnaları olarak.


API Reference Özeti

Sınıf/YöntemAçıklama
JSContextJavaScript değerlendirme bağlamı
ModuleRegistryModül belirteci kaydı
ModuleLoadPolicyModül yükleme politikası kontrolü
JSEvaluationErrorTipli script-değerlendirme hatası
ModuleNotFoundErrorTipli missing-module hatası

Ayrıca Bakınız

 Türkçe