Contesto JavaScript

JavaScript Contesto

Il livello di scripting fornisce un contesto di valutazione JavaScript controllato per i documenti che ne hanno bisogno. È deliberatamente guidato dalle politiche: la risoluzione dei moduli è esplicita e i fallimenti emergono come eccezioni tipizzate.


Il Contesto di Valutazione

JSContext ospita la valutazione degli script. Gli errori generati durante la valutazione emergono come JSEvaluationError, mantenendo i fallimenti degli script distinti dagli errori lato Python.

Caricamento dei Moduli

La risoluzione dei moduli è governata da ModuleRegistry, che mappa gli identificatori dei moduli alle implementazioni. I moduli mancanti generano ModuleNotFoundError (l’errore tipizzato della libreria) anziché restituire silenziosamente stub.

Politiche di Caricamento

ModuleLoadPolicy controlla ciò che un contesto è autorizzato a caricare — il meccanismo per isolare il comportamento degli script nell’elaborazione lato server dove l’accesso arbitrario ai moduli è indesiderato.


Suggerimenti e migliori pratiche

  • Registra solo i moduli di cui il tuo scenario di elaborazione ha bisogno; un registro ridotto è la sandbox
  • Gestisci JSEvaluationError separatamente dalle eccezioni generiche per distinguere i bug degli script da quelli della pipeline
  • Considera ModuleNotFoundError come un segnale di policy, non come una condizione fatale — spesso significa che l’input si aspetta un API del browser che hai scelto di non fornire

Problemi comuni

ProblemaCausaCorrezione
ModuleNotFoundError in valutazioneModulo non registratoAggiungilo a ModuleRegistry o regola la politica
Il fallimento dello script blocca la pipelineJSEvaluationError non rilevatoGestiscilo al confine della valutazione
Accesso al modulo inaspettatoPolitica troppo permissivaRestringi ModuleLoadPolicy

FAQ

È necessaria l’esecuzione di script per l’analisi?

No — parsing, CSSOM e layout funzionano senza alcun contesto script.

Come controllo cosa possono importare gli script?

Attraverso ModuleRegistry (ciò che esiste) e ModuleLoadPolicy (ciò che può essere caricato).

Come si manifestano gli errori degli script?

Come eccezioni JSEvaluationError sul lato Python.


API Reference Riepilogo

Classe/MetodoDescrizione
JSContextJavaScript contesto di valutazione
ModuleRegistryRegistro dei specificatori di modulo
ModuleLoadPolicyControllo della politica di caricamento del modulo
JSEvaluationErrorErrore di valutazione di script tipizzato
ModuleNotFoundErrorErrore di modulo mancante tipizzato

Vedi anche

 Italiano