سؤال

وأنا أتساءل عما اذا كان هناك أي وسيلة لإعلام المستخدم في برنامج أدوبي ريدر تم تقديم شكل قوات الدفاع الشعبي إلى الخادم؟ إنني أقدم العادي المتشعب / أتش تي أم أل شكل لphp السيناريو ليس صفقة كبيرة، على التوالي إلى الأمام، ولكن يبدو أن هناك "ثقب أسود" كبير في وثائق والمنتديات الخ على ما يحدث عندما يتم إرسال النموذج.

وليس هناك وسيلة لتحريك تنبيه جافا سكريبت بعد أن أكون قد قدمت شكل؟؟ I dont't يريدون العودة قوات الدفاع الشعبي أخرى تقول "شكرا"، ما هو مبتذل قليلا. أنا جديدة جدا لأشكال الشعبي حتى أنا على التخمين هناك يجب أن يكون وسيلة للعودة FDF على الوثيقة الأصلية التي لديها بعض جافا سكريبت في أن يتم تنفيذ تنبيه سبيل المثال ( 'شكرا لك، ردود الفعل!) ..

وهذا ينبغي أن يكون حقا على التوالي إلى الأمام، أنا افترض Adobe ق فقت كثيرا وكانت التكنولوجيا PDF أكثر من ذلك بكثير المطور freindly ويمكن الوصول إليها ..

وأي أفكار ؟؟ (يا والرجاء لا تسأل لماذا أنا باستخدام نماذج قوات الدفاع الشعبي وليس على شبكة الإنترنت، وهذا يأتي من "توب"، وذلك كمطور أنا فقط يجب أن تفعل ذلك ..)

هل كانت مفيدة؟

المحلول

والسيناريو الخادم الذي تقوم بالإرسال يجب الرد مع نوع المحتوى في رأس HTTP:

و"نوع المحتوى: التطبيق / vnd.fdf '

وعلى سبيل المثال. إذا كنت تستخدم PHP:

header('Content-Type: application/vnd.fdf')

وتليها حط-قوات الدفاع الشعبي جافا سكريبت-متحولة نصف الخبز ذات الصلة التي من شأنها أن تؤدي إلى الحوار تنبيه ().

%FDF-1.2
1 0 obj
<<
/FDF
    <<
    /JavaScript 
        << 
        /Doc 2 0 R
        /After (confirmSend();)
        >>
    >>
>>
endobj
2 0 obj
[ 
(confirmSend) 3 0 R
]
endobj
3 0 obj
<<
>>
stream
function confirmSend()
{
app.alert({
    cTitle : 'title of the window',
    cMsg : 'message',
    nIcon : 3 
});
}
endstream
endobj
trailer
<<
/Root 1 0 R
>>
%%EOF

وآمل أن تصلك هذه الرسالة، وأنا إهدار ما يقرب من 2 أسابيع من حياتي إيجاد حل ...

نصائح أخرى

وشكرا لهذا! وأنا أيضا قد تبحث عن حل لهذا لساعات! وكان محبطا للغاية. يبدو وكأنه مبالغة لتثبيت أدوات FDF فقط للحصول على مربع حوار تأكيد بسيط بعد أن تم تقديم PDF.

وجئت في نهاية المطاف بما يلي من خلال التجربة والخطأ (على ما يبدو ليس هناك على الإطلاق أي وثائق حول هذا الموضوع على الشبكة):

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF
    <<
    /Status(Thank you. Your details have been submitted and someone will get in touch with regarding your application.)
    >>
>>
endobj
trailer
<</Root 1 0 R>>
%%EOF

ما سبق سيقدم (أو ينبغي تقديم) مربع حوار في برنامج أدوبي ريدر دون أن تظهر في "تحذير: جافا سكريبت النافذة". تحذير

وهذا الأمل ينتهي به الأمر مفيدا لشخص ما.

وأنا تجادل مع هذا لعدة أيام، في محاولة لمعرفة لماذا عندما بعثت FDF باستخدام response.write، هو فقط لن يتم عرضها في القارئ. حاولت إرسال كلا FDF اليدوية الحرفية وتثبيت أدوات FDF لإنشاء استجابة FDF. وكنت قادرا على إنشاء صحيح FDF، وكنت قادرا على فتح محليا في القارئ ويكون عرض المنبثقة بشكل صحيح ولكن لم أستطع الحصول عليه للعمل من أجل حياة لي إرسال FDF من صفحة ASP.NET بلدي.

وبعد ذلك وقع الإلهام. في واحدة من محاولاتي لإرسال FDF، I تخزين FDF في ملف وحاولت استخدام StreamReader لضخه في الاستجابة. بعد عدة محاولات غير ناجحة لاستخدام response.write، لمجرد نزوة حاولت Response.Redirect لملف FDF حفظها وأنه يعمل. أنا سبق المضافة استطاع الصندوق باعتباره امتدادا MIME مسجل لموقع الويب الخاص بي، مع التطبيق / vnd.fdf كنوع MIME. الآن يتلقى المستخدم المنبثقة بعد العرض الفائز. الحل بسيط، في C #، يبدو مثل هذا:

Page.Response.Redirect("success.fdf");

وتمكنت من يحدث على الإجابة بعد 3 أيام من البحث، إضافة رأس لملف FDF في البرنامج النصي PHP، مضيفا "#FDF" إلى نهاية عنوان الموقع في بهلوان يبدو أنه قد تم حل؛

و٪ FDF 1.2 1 0 الكائنات << / FDF     <<     / جافا سكريبت         <<         / الوثيقة 2 0 R         / بعد (confirmSend ()؛)

<اقتباس فقرة>   

>   >   >   endobj   2 0 الكائنات   [   (confirmSend) 3 0 R   ]   endobj   3 0 الكائنات   <<   >   مجرى   confirmSend وظيفة ()   {   app.alert ( "تم تقديم النموذج بنجاح \ n شكرا لك على ملاحظاتك!"، 3)؛   }   endstream   endobj   عرض مختصر لفيلم   <<   / الجذر 1 0 R   >   ٪٪ EOF

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top