THotPDF.EvaluateLoadedFieldJavaScript Method
Виконує підтримуваний безпечний підмножину однієї дії завантаженого поля без запуску JavaScript-двигуна
Оголошення
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Результат
Повертає True, коли виконано щонайменше одну підтримувану дію; Evaluation повідомляє отримане значення, прийняття перевірки, кількість операцій і будь-яку причину відхилення
Підтримувані вирази
Виконавець підтримує літерали boolean, числа, рядки, null, undefined та масиви; читання полів і event.value; індексацію масивів; арифметичні, унарні, порівняльні, рівності, логічні із скороченням та умовні оператори; і присвоєння event.value чи event.rc
Allowlist містить AFSimple_Calculate, AFRange_Validate, перетворення чисел і рядків, parseFloat, parseInt, isNaN, вибрані функції Math, Date.parse, Date.UTC, Array.isArray та обмежені властивості й методи рядків і масивів
Операції з датами детерміновані та незалежні від часового поясу: ISO-подібний ввід без зсуву інтерпретується як UTC, а явні Z і числові зсуви враховуються
Межа безпеки
Парсер приймає лише обмежені декларативні обчислення та перевірки й відхиляє цикли, динамічне виконання, доступ до застосунку, надсилання, імпорт, запуск та інший активний вміст
Кожен виклик обмежений 8 192 байтами скрипта, 32 операторами, 4 096 байтами виразів, 32 рівнями парсера, 1 024 операціями, 64 аргументами, 128 елементами масиву, 65 536 байтами рядків і 262 144 байтами відстежуваних значень; перевищення будь-якої межі закривається з помилкою та діагностичним результатом