THotPDF.EvaluateLoadedFieldJavaScript Method

زیرمجموعهٔ امن و پشتیبانی‌شدهٔ یک action فیلد بارگذاری‌شده را بدون راه‌اندازی موتور JavaScript ارزیابی می‌کند

اعلان

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

Result

وقتی دست‌کم یک action پشتیبانی‌شده اجرا شده باشد True برمی‌گرداند؛ Evaluation مقدار نتیجه، پذیرش اعتبارسنجی، تعداد عملیات و هر دلیل رد را گزارش می‌کند

Supported expressions

ارزیاب literalهای boolean، number، string، null، undefined و آرایه؛ خواندن field و event.value؛ اندیس‌گذاری آرایه؛ operatorهای حسابی، یگانی، مقایسه، برابری، منطقی short-circuit و شرطی؛ و انتساب به event.value یا event.rc را پشتیبانی می‌کند

allowlist شامل AFSimple_Calculate، AFRange_Validate، تبدیل number و string، parseFloat، parseInt، isNaN، برخی توابع Math، Date.parse، Date.UTC، Array.isArray و ویژگی‌ها و متدهای محدود string و آرایه است

عملیات تاریخ قطعی و مستقل از timezone هستند: ورودی ISO-مانند بدون offset به‌صورت UTC تفسیر می‌شود، در حالی که Z صریح و offsetهای عددی رعایت می‌شوند

Safety boundary

parser فقط محاسبات و اعتبارسنجی declarative محدود را می‌پذیرد و حلقه‌ها، ارزیابی پویا، دسترسی به برنامه، submission، import، launch و سایر محتوای فعال را رد می‌کند

هر فراخوانی به ۸٬۱۹۲ بایت اسکریپت، ۳۲ statement، ۴٬۰۹۶ بایت expression، ۳۲ سطح parser، ۱٬۰۲۴ عملیات، ۶۴ آرگومان، ۱۲۸ آیتم آرایه، ۶۵٬۵۳۶ بایت رشته و ۲۶۲٬۱۴۴ بایت مقدار ردگیری‌شده محدود است؛ عبور از هر حد، به‌صورت fail-closed و با نتیجهٔ diagnostic شکست می‌خورد

APIهای مرتبط