Как использовать JavaScript Context в Python

Как использовать 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.

См. также:

 Русский