HPDFXFAExecuteJavaScriptEvent
الوحدة: HPDFXFAEventScript
الإعلان
function HPDFXFAExecuteJavaScriptEvent(const Script: AnsiString;
const Bindings: TXFAEventBindings; SelfIndex: Integer;
const Options: TXFAFormScriptOptions; out Actions: TXFAEventActions;
out Operations: Integer; out Diagnostic: string;
Session: TXFAJavaScriptSession= nil;
HostTransaction: TXFAHostTransaction= nil;
LocaleProvider: TXFALocaleDataProvider= nil;
HostModel: PXFAHostModelState= nil): Boolean;
السلوك
تنفّذ حدثًا مقابل DOM نموذج افتراضي حي وتعيد سجلات تحويل متحقق منها دون تعديل مستند المستدعي
الـ Bindings تزوّد سياق الـ host والـ SelfIndex تختار هذا؛ وOptions.EnableJavaScript يجب أن تكون True
السكربت ونص الربط الخام بايتات UTF-8، تفك صراحةً لمصدر JavaScript والسياق المقتبس بدلًا من تفسيرها بصفحة الشيفرة ANSI لنظام التشغيل؛ واليونانية الحرفية وscalars التكميلية وفواصل أسطر Unicode تحفظ قيمتها الدقيقة
تستخدم محرك QuickJS المرفق المحدود السقف أو Options.JavaScriptEvaluator، بميزانيات سكربت وسياق وذاكرة ومكدس ومقاطعة ووقت وعمليات ومخرجات
تعيد True فقط عندما ينجح تنفيذ المحرك والتحقق من المخرجات؛ والتنفيذ الفاشل يمسح Actions ويبلّغ Diagnostic
TXFAWidgetRuntime تتحقق من الأفعال وتعيد تشغيلها داخل معاملة snapshot الخاصة بها؛ وعلى المستدعين المباشرين تزويد معالجة transactional مكافئة
المحرك الأصلي يترجم شيفرة دعم الأحداث القابلة لإعادة الاستخدام مرة واحدة لكل محرك جلسة، بينما كل استدعاء يزوّد متجه ربطه الحالي وجسد حدثه وحدوده واستجابات host وlocale وحساب وXML المسجَّلة لديه؛ والجلسات المنفصلة وكائنات السكربت المتكررة تحفظ حالة مستقلة
تهيئة الدعم وتنفيذ الحدث ومحاولات تعليق التشغيل وإعادة بناء التراجع تتشارك الموعد النهائي الأصلي للوقت المنقضي؛ وcallbacks JavaScriptEvaluator المخصصة تتلقى غلافًا مستقلًا كاملًا
مرّر TXFAJavaScriptSession مملوكة لحفظ كائنات السكربت والحالة المعجمية عبر الاستدعاءات؛ وجلسة nil تنشئ محركًا معزولًا لذلك الاستدعاء
مرّر TXFAHostTransaction مملوكة لآثار تطبيق صريحة؛ ومحاولات تعليق التشغيل تستعيد نقطة فحص الجلسة وتستهلك الاستجابات المسجَّلة دون استدعاء الطلبات المكتملة مجددًا
على المستدعين الأدنى مستوى إنهاء معاملة الـ host بنتيجة مستندهم؛ وآثار الـ host تتطلب المحرك المرفق ولا يمكنها استخدام JavaScriptEvaluator
LocaleProvider تزوّد metadata locale للقراءة فقط؛ وnil تستخدم بيانات locale من Windows، بينما تزوّد TXFAWidgetRuntime localeSet للمستند الحالي مع fallback النظام
أقرب ربط Locale غير فارغ يزوّد locale المحيط؛ والسلسلة الموروثة الفارغة تنتقي locale المستخدم الحالي
أسماء locale المحسوبة تعلّق التنفيذ الأصلي وتستعيد نقطة فحص الجلسة وتعيد المحاولة بالـ metadata المسجَّلة؛ وإعادة التشغيل المُرسَلة تستهلك تلك الـ metadata دون استدعاء المزوّد مجددًا
كل استدعاء يسمح بحد أقصى 64 طلب locale مسنّى و256 وحدة UTF-16 code لكل معرّف و2 MiB من metadata locale، متشاركةً موعد السكربت النهائي المنقضي؛ وcallbacks JavaScriptEvaluator المخصصة يجب أن تستهلك بيانات locale المقدَّمة دون طلب بحث أصلي
HostModel تزوّد snapshot للقراءة فقط لميتاداتا التطبيق والصفحات والأعلام والعنوان والتركيز؛ وnil تستخدم TXFAHostModelState.Default، وأفعال host/focus/reset المعادة تتطلب تطبيقًا أصليًا transactional من المستدعي
Eval ديناميكية لـ FormCalc تعلّق لترجمة أصلية وتعيد المحاولة باستجابات مترجمة مسجَّلة داخل الموعد النهائي نفسه؛ وcallbacks JavaScriptEvaluator المخصصة لا يمكنها خدمة هذه الطلبات
المؤشر يُقرأ تزامنيًا ولا يُحفظ أو يُكتب أبدًا؛ وTXFAWidgetRuntime تمرّر حالتها الحالية وتطبق التحويلات داخل معاملة snapshot مستندها
EventActivity للربط المنفَّذ يزوّد xfa.event.name، مع event بوصفها fallback الأدنى مستوى
حل SOM الحي يستخدم هرمية الربط وترتيب النسخ الحالي ويدعم محدّدات class وdescendant ومسندات المرشحين، وينتقي نسخة استنتَجة أو افتراضية واحدة عند غياب الفهرس
ارتباطات Data DOM تبني شجرة datasets وتوصل قيم النماذج عبر DataIdentity وتدعم كتابات البيانات وhandles البيانات الأصلية المحفوظة؛ وعلى المستدعين المباشرين تطبيق النطاقين وفعل الهوية الافتراضية transactionally
ارتباطات Property DOM تكشف أبناء الخصائص المعلنين وAttributes/DefaultAttributes؛ وعلى المستدعين المباشرين تطبيق أفعال raw-value وسمات الخصائص على نسخة النموذج الأصلية المطابقة
aliases الحقول المسنّاة مرئية عبر نطاق الحدث الخارجي؛ وإعلانات const وlet وclass وfunction وvar المحلية تتبع قواعد JavaScript المعجمية العادية داخل جسد الحدث
جسد الحدث يحفظ directive بقيمة use strict أوليًا وسياق this لعقدة النموذج وقيم return صريحة؛ وفشل معجمي أو وضع strict يرفض نفس المعاملة الأصلية
انظر نطاق أحداث JavaScript لسلوك التظليل والاستمرارية
واجهات مرتبطة
بيئة تشغيل widgets XFA الديناميكية التفاعلية, دوال FormCalc وXFA Packet DOM