TXFAJavaScriptSession

Unidade: HPDFXFAEventScript

Declaration

TXFAJavaScriptSession= class

Comportamento

É dona de um motor QuickJS independente e de um journal delimitado de avaliações virtuais confirmadas

Preserva variáveis lexicais de objetos de script, funções, valores de objetos e closures aninhadas através de eventos; o rollback reconstrói o motor reproduzindo as avaliações confirmadas

Regista entradas de Date e Math.random para replay reproduzível; o replay executa apenas operações virtuais de formulários e não publica mutações de documentos

O código de suporte de eventos é compilado uma vez para cada motor próprio; cada avaliação fornece um contexto fresco de formulários e de dados, corpo de script, limites e vetores de resposta registados

O rollback reinstala esse código de suporte e reproduz as avaliações dinâmicas confirmadas, preservando o estado lexical e de closures independente sem reanalisar a biblioteca de suporte para cada entrada do journal

A fonte de suporte partilhada é cobrada uma vez contra o limite de bytes do journal, juntamente com as avaliações dinâmicas confirmadas e os resultados devolvidos; reconstrução e replay permanecem dentro dos limites existentes de tempo decorrido e do motor

Os limites por defeito do journal são 64 MiB para scripts mais resultados devolvidos e 8192 avaliações, incluindo bindings de identidade; os limites de memória, stack, operações, interrupções e tempo decorrido do motor também se aplicam

TXFAWidgetRuntime é dono de uma sessão automaticamente quando usa o motor geral distribuído; o estado da sessão não é serializado em XDP e um runtime novo começa fresco

A classe é single-threaded e não deve ser partilhada por chamadores concorrentes

APIs relacionadas

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent e Runtime interativo de widgets XFA dinâmicos