2009-02-10 11 views
12

So öffnen Sie ein Eingabeaufforderungsdialogfeld in WSH usig JScript ??Eingabeaufforderung in WSH mit JScript?

Der einzige Popup-Dialog, den ich im Dokument gefunden habe, ist die WshShell.Popup() -Methode. Aber ich brauche eine Möglichkeit, den Benutzer zur Eingabe einer Zeichenfolge aufzufordern, wie die Methode window.prompt() in DOM.

Danke.

+2

Hallo Willkommen zu stackoverflow! Es ist nicht notwendig, [WSH] [JScript] in Ihren Fragetitel zu schreiben. – Albert

Antwort

16

Ich denke, das WScript-Objekt bietet keine solche Methode, aber Sie können ein Eingabefeld von VBScript auf WSH zeigen. Also hier ist eine mögliche Lösung, die Sie diese VB-Funktion aus JS aufrufen können! Bitte beachten Sie die Dateierweiterung für das folgende Codefragment ".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> 
+0

Danke. Dies sollte nicht von der Sprache abhängen, die Sie verwenden, sondern von der Umgebung, in der Sie die Sprache verwenden. Das sieht nach einem schlechten Designproblem aus. Nur ein Gedanke. – GetFree

11

Ich weiß, diese Frage beantwortet wurde, aber ich mag nicht die WSF Sachen verwenden, und ich würde auch nicht den Aufwand für das Laden von Internet Explorer will (wie ich andere Lösungen tun gesehen habe) . Ich fand diese Lösung unter Verwendung von Google, dass ich denke, ist die eleganteste:

http://with-love-from-siberia.blogspot.com/2009/12/msgbox-inputbox-in-jscript.html

Der Schlüssel wird mit dem ActiveXObject „Scriptcontrol“, um die Sprache zu VBScript Einstellung und dann die ScriptObject.eval() Funktion. Das Beispiel auf der Website steht für sich.

EDIT: Für diejenigen, die einen Fehler mit 64-Bit oder Zeilenvorschub, etc., gibt es diese verbesserte Version mit Anweisungen, wie man es (auf Systemen wie Win7 x64) here.

+0

Die Frage hat nichts mit Browsern zu tun. Es handelt sich um Windows Scripting unter dem Windows Script Host. – GetFree

+3

@GetFree Ich bin mir ziemlich sicher, dass Aikeru das weiß - ein Browser kann von WSH aufgerufen werden, als eine schreckliche Workaround für einige Sachen ist alles was er sagt. –

+0

Ja, Jack Douglas hat Recht. Mein Punkt ist, dass es zwar möglich ist, ActiveX und Internet Explorer zu verwenden, um ein Javascript-Popup zu erstellen, und ich habe Leute dabei gesehen - aber ich denke, es ist schrecklich, viel Overhead, viel Potenzial für unvorhergesehene Probleme. Ich wollte eine Alternative sowohl zu dieser als auch zur WSF (welche die ausgewählte Antwort ist) präsentieren. Wenn meine Antwort unklar ist, begrüße ich Vorschläge oder vielleicht sogar eine "Bearbeitung". :) – aikeru