TXFAJavaScriptSession

Unit: HPDFXFAEventScript

선언

TXFAJavaScriptSession= class

동작

독립적인 QuickJS 엔진과 커밋된 가상 평가의 제한된 저널을 소유

이벤트에 걸쳐 스크립트 객체의 렉시컬 변수, 함수, 객체 값, 중첩 클로저를 보존합니다. 롤백은 커밋된 평가를 재생해 엔진을 재구성합니다

재현 가능한 재생을 위해 Date와 Math.random 입력을 기록합니다. 재생은 가상 폼 연산만 실행하고 문서 변경을 발행하지 않습니다

이벤트 지원 코드는 소유된 엔진마다 한 번 컴파일됩니다. 각 평가는 새로운 폼과 데이터 컨텍스트, 스크립트 본문, 한도, 기록된 응답 벡터를 공급합니다

롤백은 그 지원 코드를 재설치하고 커밋된 동적 평가를 재생하며, 모든 저널 항목마다 지원 라이브러리를 다시 파싱하지 않고 독립적인 렉시컬·클로저 상태를 보존합니다

공유 지원 소스는 커밋된 동적 평가와 반환된 결과와 함께 저널 바이트 한도에 한 번만 청구됩니다. 재구축과 재생은 기존 경과 시간·엔진 한도 안에 머뭅니다

기본 저널 한도는 스크립트와 반환 결과를 합쳐 64 MiB, 평가 8192회이며 신원 바인딩을 포함합니다. 엔진 메모리, 스택, 연산, 인터럽트, 경과 시간 한도도 적용됩니다

TXFAWidgetRuntime은 배포된 일반 엔진을 쓸 때 세션 하나를 자동으로 소유합니다. 세션 상태는 XDP로 직렬화되지 않으며 새 런타임은 깨끗하게 시작합니다

이 클래스는 단일 스레드이며 동시 호출자가 공유해서는 안 됩니다

관련 API

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent, 인터랙티브 Dynamic XFA 위젯 런타임