THotPDF.EvaluateLoadedFieldJavaScript Method
Izvršava podržani sigurni podskup jedne radnje učitane akcije polja bez pokretanja JavaScript motora
Deklaracija
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Rezultat
Vraća True kada se izvršila najmanje jedna podržana radnja; Evaluation izvještava o rezultirajućoj vrijednosti, prihvaćanju validacije, broju operacija i eventualnom razlogu odbijanja
Podržani izrazi
Evaluator podržava boolean, broj, string, null, undefined i nizove literala; čitanja polja i event.value; indeksiranje nizova; aritmetičke, unarne, usporedbene, jednakosne, logičke s prekidanjem i uvjetne operatore; te dodjeljivanje event.value ili event.rc
Allowlist uključuje AFSimple_Calculate, AFRange_Validate, pretvorbu broja i stringa, parseFloat, parseInt, isNaN, odabrane Math funkcije, Date.parse, Date.UTC, Array.isArray te ograničena svojstva i metode stringa i nizova
Datumske operacije su determinističke i neovisne o vremenskoj zoni: ulaz sličan ISO bez odmaka tumači se kao UTC, dok se izrijekom navedeni Z i brojčani odmac poštuju
Sigurnosna granica
Parser prihvaća samo ograničene deklarativne izračune i validaciju, a odbacuje petlje, dinamičko izvršavanje, pristup aplikaciji, slanje, uvoz, pokretanje i drugi aktivni sadržaj
Svaki poziv ograničen je na 8.192 bajtova skripte, 32 izjave, 4.096 bajtova izraza, 32 razine parsera, 1.024 operacije, 64 argumenta, 128 elemenata niza, 65.536 bajtova stringa i 262.144 bajta praćenih vrijednosti; prekoračenje bilo kojeg ograničenja zatvara se uz dijagnostički rezultat