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 байтами відстежуваних значень; перевищення будь-якої межі закривається з помилкою та діагностичним результатом

Пов'язані API