Jak używać kontekstu JavaScript w Python
Warstwa skryptowa Aspose.HTML FOSS dla Python jest jawna i oparta na politykach: podczas parsowania nic się nie wykonuje, a gdy ocenisz skrypty, JSContext uruchamia je z dostępem do modułów kontrolowanym przez ModuleRegistry i ModuleLoadPolicy. Ten przewodnik wyjaśnia elementy i model awarii, używając pip do instalacji.
Przewodnik krok po kroku
Krok 1: Zainstaluj pakiet
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .Krok 2: Importuj wymagane klasy
from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicyKrok 3: Zrozum model ewaluacji
JSContext hostuje ewaluację. Błędy skryptu pojawiają się jako typowany JSEvaluationError po stronie Python, utrzymując błędy skryptu odrębne od błędów potoku.
Krok 4: Kontrola dostępu do modułów
ModuleRegistry mapuje specyfikatory modułów na implementacje — rejestr jest piaskownicą. Brakujące moduły wywołują typowany ModuleNotFoundError biblioteki; ModuleLoadPolicy określa, co kontekst może w ogóle ładować.
Typowe problemy i rozwiązania
Ocena podnosi ModuleNotFoundError. Skrypt importuje moduł, którego nie zarejestrowałeś — dodaj go do ModuleRegistry lub potraktuj błąd jako sygnał polityki.
Awaria skryptu powoduje awarię potoku. Catch JSEvaluationError na granicy ewaluacji.
Skrypty uzyskują dostęp do więcej niż zamierzone. Tighten ModuleLoadPolicy i zmniejsz rejestr — małe rejestry są celem.
Najczęściej zadawane pytania
Czy skrypty są uruchamiane podczas parsowania?
Nie. Parsowanie nigdy nie wykonuje skryptów; ewaluacja jest jawna poprzez JSContext.
Jak odizolować zachowanie skryptu?
Zarejestruj tylko potrzebne moduły w ModuleRegistry i ogranicz ładowanie przy pomocy ModuleLoadPolicy.
Jak błędy skryptu pojawiają się w Python?
Jako wyjątki JSEvaluationError.