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