Как использовать JavaScript Context в Python
Скриптовый уровень Aspose.HTML FOSS для Python является явным и управляемым политиками: во время парсинга ничего не исполняется, а когда вы действительно оцениваете скрипты, JSContext запускает их с доступом к модулям, контролируемым ModuleRegistry и ModuleLoadPolicy. Это руководство объясняет составляющие и модель отказов, используя pip для установки.
Пошаговое руководство
Шаг 1: Установите пакет
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .Шаг 2: Импортируйте необходимые классы
from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicyШаг 3: Поймите модель оценки
JSContext управляет оценкой. Сбои скрипта проявляются как типизированный JSEvaluationError на стороне Python, что позволяет отличать ошибки скриптов от ошибок конвейера.
Шаг 4: Управление доступом к модулям
ModuleRegistry сопоставляет указатели модулей с реализациями — реестр является песочницей. Отсутствующие модули вызывают типизированный ModuleNotFoundError библиотеки; ModuleLoadPolicy определяет, что контекст может загружать вообще.
Распространённые проблемы и решения
Оценка вызывает ModuleNotFoundError. Скрипт импортирует модуль, который вы не зарегистрировали — добавьте его в ModuleRegistry или рассматривайте ошибку как сигнал политики.
Сбой скрипта приводит к падению конвейера. Catch JSEvaluationError на границе оценки.
Скрипты получают доступ к большему, чем предусмотрено. Tighten ModuleLoadPolicy и уменьшайте реестр — небольшие реестры и есть цель.
Часто задаваемые вопросы
Запускаются ли скрипты во время парсинга?
Нет. Парсинг никогда не выполняет скрипты; оценка происходит явно через JSContext.
Как изолировать поведение скриптов?
Регистрируйте только необходимые модули в ModuleRegistry и ограничьте загрузку с помощью ModuleLoadPolicy.
Как проявляются ошибки скриптов в Python?
В виде исключений JSEvaluationError.