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