Jak použít JavaScript kontext v Python
Skriptovací vrstva Aspose.HTML FOSS pro Python je explicitní a řízená politikou: během parsování se nic nespouští, a když skripty vyhodnocujete, JSContext je spouští s přístupem k modulům řízeným ModuleRegistry a ModuleLoadPolicy. Tento průvodce vysvětluje jednotlivé části a model selhání, přičemž pro instalaci používá pip.
Průvodce krok za krokem
Krok 1: Nainstalujte balíček
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: Importujte požadované třídy
from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicyKrok 3: Pochopte model vyhodnocení
JSContext hostuje vyhodnocování. Selhání skriptu se projeví jako typovaný JSEvaluationError na straně Python, čímž se udržují chyby skriptu oddělené od chyb pipeline.
Krok 4: Řízení přístupu k modulům
ModuleRegistry mapuje specifikátory modulů na implementace — registr je sandbox. Chybějící moduly vyvolají typovaný ModuleNotFoundError knihovny; ModuleLoadPolicy určuje, co může kontext vůbec načíst.
Běžné problémy a opravy
Vyhodnocení vyvolá ModuleNotFoundError. Skript importuje modul, který jste nezaregistrovali — přidejte jej do ModuleRegistry nebo považujte chybu za signál politiky.
Selhání skriptu zhavaruje pipeline. Catch JSEvaluationError na hranici vyhodnocení.
Skripty přistupují k více než zamýšlenému. Tighten ModuleLoadPolicy a zmenšete registr — malé registry jsou podstatou.
Často kladené otázky
Spouští se skripty během parsování?
Ne. Parsování nikdy nespouští skripty; vyhodnocení je explicitní prostřednictvím JSContext.
Jak mohu sandboxovat chování skriptu?
Zaregistrujte pouze potřebné moduly v ModuleRegistry a omezte načítání pomocí ModuleLoadPolicy.
Jak se chyby skriptu projevují v Python?
Jako výjimky JSEvaluationError.