THotPDF.EvaluateLoadedFieldJavaScript Method
JavaScript motoru başlatmadan, tek bir yüklenmiş alan aksiyonunun desteklenen güvenli alt kümesini çalıştırır
Bildirim
function EvaluateLoadedFieldJavaScript(FieldIndex: Integer;
Trigger: THPDFFormFieldActionTrigger; const InputValue: AnsiString;
out Evaluation: THPDFJavaScriptEvaluationResult): boolean;
Sonuç
En az bir desteklenen aksiyon çalıştırıldıysa True döndürür; Evaluation, elde edilen değeri, validation kabulünü, işlem sayısını ve varsa ret nedenini raporlar
Desteklenen ifadeler
Değerlendirici; boolean, sayı, string, null, undefined ve array literallerini; alan ve event.value okumalarını; array indekslemeyi; aritmetik, tekli, karşılaştırma, eşitlik, kısa devre mantıksal ve koşul operatörlerini; ayrıca event.value veya event.rc'ye atamayı destekler
Allowlist'te AFSimple_Calculate, AFRange_Validate, sayı ve string dönüştürme, parseFloat, parseInt, isNaN, seçili Math fonksiyonları, Date.parse, Date.UTC, Array.isArray ile sınırlı string ve array property ile metodları bulunur
Tarih işlemleri deterministiktir ve saat diliminden bağımsızdır: ofsetsiz ISO benzeri girdi UTC olarak yorumlanır, açık Z ve sayısal offset'ler ise aynen dikkate alınır
Güvenlik sınırı
Parser yalnızca sınırlı, bildirimsel hesaplama ve validation kabul eder; döngüleri, dinamik değerlendirmeyi, uygulamaya erişimi, gönderimi, import'u, launch'u ve diğer aktif içerikleri reddeder
Her çağrı 8.192 script byte'ı, 32 statement, 4.096 ifade byte'ı, 32 parser seviyesi, 1.024 işlem, 64 argument, 128 array öğesi, 65.536 string byte'ı ve 262.144 byte izlenen değerle sınırlıdır; herhangi bir limitin aşılması, tanılama bilgisi içeren bir sonuçla güvenli biçimde başarısızlığa yönlendirir