TXFAJavaScriptSession

Unit: HPDFXFAEventScript

Deklarace

TXFAJavaScriptSession= class

Chování

Vlastní nezávislý QuickJS engine a ohraničený journal potvrzených virtuálních vyhodnocení

Zachovává lexikální proměnné skriptových objektů, funkce, hodnoty objektů i vnořené closures napříč událostmi; rollback rekonstruuje engine replayem potvrzených vyhodnocení

Zaznamenává vstupy Date a Math.random pro reprodukovatelný replay; replay provádí jen virtuální formulářové operace a nepublikuje mutace dokumentu

Podpůrný kód událostí se kompiluje jednou pro každý vlastněný engine; každé vyhodnocení dodá čerstvý form i data kontext, tělo skriptu, limity a zaznamenané odpovědní vektory

Rollback znovu nainstaluje ten podpůrný kód a přehraje potvrzená dynamická vyhodnocení, se zachováním nezávislého lexikálního i closure stavu, bez opakovaného parsování podpůrné knihovny pro každou položku journalu

Sdílený podpůrný zdroj se účtuje jednou do limitu bajtů journalu, spolu s potvrzenými dynamickými vyhodnoceními a vrácenými výsledky; rebuild i replay zůstávají uvnitř stávajících limitů uplynulého času i engine

Default meze journalu jsou 64 MiB na skripty plus vrácené výsledky a 8192 vyhodnocení, včetně vazeb identity; platí i limity engine na paměť, zásobník, operace, přerušení i uplynulý čas

TXFAWidgetRuntime vlastní jedno sezení automaticky při použití dodávaného obecného engine; stav sezení se neserializuje do XDP a nový runtime startuje s čistým štítem

Třída je single-thread a nesmí se sdílet souběžnými volajícími

Související API

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent a Interactive Dynamic XFA Widget Runtime