سؤال

وكيف يتم فتح مربع حوار الفوري في WSH usig ل JScript ؟؟

والحوار المنبثقة الوحيدة التي وجدتها في وثيقة هو الأسلوب WshShell.Popup (). ولكن أنا بحاجة إلى وسيلة لطلب من المستخدم إدخال سلسلة، مثل طريقة window.prompt () في DOM.

وشكرا.

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

المحلول

وأعتقد أن الكائن WScript لا توفر مثل هذا الأسلوب ولكن هل يمكن أن تظهر مربع إدخال من VBScript يعمل على WSH. حتى هنا هو حل واحد ممكن والتي تمكنك من الاتصال أن وظيفة VB من داخل JS! يرجى ملاحظة ملحق الملف لجزء التعليمات البرمجية التالية ".wsf".

<!-- Test.wsf -->
<job id="InputBoxInJS">
   <script language="VBScript">
      Function VBInputBox(promptText)
        VBInputBox = InputBox(promptText)
      End Function
   </script>

   <script language="JScript">
      WScript.Echo("Hello from JScript")
      var x = VBInputBox("Enter text")
      WScript.Echo(x)
   </script>
</job>

نصائح أخرى

وأنا أعلم قد أجبت على هذا السؤال، ولكن لا أريد لاستخدام الاشياء .wsf وأنا أيضا لن ترغب النفقات العامة من إنترنت إكسبلورر تحميل (كما رأيت حلول أخرى لا تفعل). لقد وجدت هذا الحل باستخدام جوجل أعتقد أنه الأكثر أناقة:

HTTP: // مع -love-from-siberia.blogspot.com/2009/12/msgbox-inputbox-in-jscript.html

والمفتاح هو استخدام ActiveXObject "ScriptControl"، ووضع اللغة إلى VBScript ثم استخدام وظيفة ScriptObject.eval (). على سبيل المثال على الموقع يقف من تلقاء نفسها.

وتحرير: بالنسبة لأولئك تواجه خطأ مع 64 بت أو خط تغذية، وما إلى ذلك، هناك هذه نسخة محسنة مع تعليمات حول كيفية تشغيله (على أنظمة مثل Win7 وx64) و <لأ href = "http://cwestblog.com / 2012/03/10 / باستخدام-inputbox ل JScript و-msgbox / "يختلط =" نوفولو noreferrer "عنوان =" هنا "> هنا .

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