THotPDF.EvaluateLoadedFieldJavaScript Méthode
Évalue le sous-ensemble sûr pris en charge d’une action de champ chargée sans démarrer de moteur JavaScript
Déclaration
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Résultat
Renvoie True lorsqu’au moins une action prise en charge s’est exécutée ; Evaluation rapporte la valeur résultante, l’acceptation de validation, le nombre d’opérations et toute raison de rejet
Expressions prises en charge
L’évaluateur prend en charge les littéraux booléens, numériques, chaînes, null, undefined et tableaux ; les lectures de champs et de event.value ; l’indexation de tableaux ; les opérateurs arithmétiques, unaires, de comparaison, d’égalité, logiques à court-circuit et conditionnels ; et l’affectation à event.value ou event.rc
L’allowlist inclut AFSimple_Calculate, AFRange_Validate, les conversions numériques et de chaînes, parseFloat, parseInt, isNaN, certaines fonctions Math, Date.parse, Date.UTC, Array.isArray, ainsi que des propriétés et méthodes bornées sur les chaînes et les tableaux
Les opérations sur les dates sont déterministes et indépendantes du fuseau horaire : une entrée de type ISO sans décalage est interprétée en UTC, tandis que les décalages explicites Z et numériques sont honorés
Périmètre de sécurité
Le parseur n’accepte que des calculs déclaratifs et de validation bornés, et rejette les boucles, l’évaluation dynamique, l’accès à l’application, la soumission, l’import, le lancement et tout autre contenu actif
Chaque appel est limité à 8 192 octets de script, 32 instructions, 4 096 octets d’expression, 32 niveaux de parseur, 1 024 opérations, 64 arguments, 128 éléments de tableau, 65 536 octets de chaînes et 262 144 octets de valeurs suivies ; dépasser n’importe quelle limite échoue de façon sûre avec un résultat diagnostique