THotPDF.EvaluateLoadedFieldJavaScript Method

Ewaluuje obsługiwaną, bezpieczną część jednej akcji pola z załadowanego dokumentu, bez uruchamiania silnika JavaScript

Deklaracja

function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
  Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
  out Evaluation: THPDFJavaScriptEvaluationResult): boolean;

Wynik

Zwraca True, gdy wykonano co najmniej jedną obsługiwaną akcję; Evaluation raportuje wartość wynikową, akceptację walidacji, liczbę operacji i powód ewentualnego odrzucenia

Obsługiwane wyrażenia

Ewaluator obsługuje literały boolean, number, string, null, undefined i array; odczyty pól oraz event.value; indeksowanie tablic; operatory arytmetyczne, jednoargumentowe, porównania, równości, logiczne short-circuit i warunkowe; oraz przypisanie do event.value lub event.rc

Allowlista obejmuje AFSimple_Calculate, AFRange_Validate, konwersje liczb i stringów, parseFloat, parseInt, isNaN, wybrane funkcje Math, Date.parse, Date.UTC, Array.isArray oraz ograniczone właściwości i metody stringów i tablic

Operacje na datach są deterministyczne i niezależne od strefy czasowej: wejście w stylu ISO bez offsetu jest traktowane jako UTC, natomiast jawne Z i numeryczne offsety są honorowane

Granica bezpieczeństwa

Parser akceptuje wyłącznie ograniczone, deklaratywne obliczenia i walidacje, a odrzuca pętle, dynamiczną ewaluację, dostęp do aplikacji, wysyłkę, import, uruchamianie i inną aktywną zawartość

Każde wywołanie ma limity: 8192 bajty skryptu, 32 instrukcje, 4096 bajtów wyrażeń, 32 poziomy parsera, 1024 operacje, 64 argumenty, 128 elementów tablicy, 65536 bajtów stringów i 262144 bajty śledzonych wartości; przekroczenie któregokolwiek limitu kończy się bezpiecznym błędem z diagnostyką

Powiązane API