2009-02-10 12 views
12

Come aprire una finestra di dialogo prompt in WSH usig JScript ??Finestra di dialogo richiesta in WSH utilizzando JScript?

L'unica finestra di dialogo a comparsa che ho trovato nel documento è il metodo WshShell.Popup(). Ma ho bisogno di un modo per richiedere all'utente di inserire una stringa, come il metodo window.prompt() in DOM.

Grazie.

+2

Ciao benvenuto allo stackoverflow! Non è necessario mettere [WSH] [JScript] nel titolo della domanda. – Albert

risposta

16

Penso che l'oggetto WScript non fornisca un tale metodo, tuttavia è possibile mostrare una casella di input da vbscript in esecuzione su WSH. Quindi ecco una possibile soluzione che ti permette di chiamare quella funzione VB all'interno di JS! Si prega di notare l'estensione del file per il seguente frammento di codice ".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

Grazie. Questo non dovrebbe dipendere dalla lingua che si usa, ma dall'ambiente in cui si sta usando la lingua. Questo sembra un brutto problema di progettazione. Solo un pensiero. – GetFree

11

So che questa domanda è stato risposto, ma io non vorrei usare la roba wsf e ho anche non vorrebbe il sovraccarico di carico Internet Explorer (come ho visto altre soluzioni fanno) . Ho trovato questa soluzione utilizzando Google che secondo me è il più elegante:

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

La chiave sta usando l'ActiveXObject "ScriptControl", l'impostazione della lingua a VBScript e quindi utilizzando la funzione ScriptObject.eval(). L'esempio sul sito è di per sé.

MODIFICA: per coloro che incontrano un errore con 64 bit o avanzamento di riga, ecc., C'è questa versione migliorata con le istruzioni su come eseguirlo (su sistemi come Win7 x64) here.

+0

La domanda non ha nulla a che fare con i browser. Si tratta di script di Windows sotto Windows Script Host. – GetFree

+3

@GetFree Sono abbastanza sicuro che aikeru lo sa - un browser può essere invocato da WSH come soluzione orribile per alcune cose è tutto ciò che sta dicendo. –

+0

Sì, Jack Douglas ha ragione. Il mio punto è che, mentre è possibile usare ActiveX e Internet Explorer per creare un popup javascript e ho visto persone farlo, ma penso che sia orribile, un sacco di spese generali, un sacco di potenziale per problemi imprevisti. Volevo presentare un'alternativa sia a quella che a WSF (che è la risposta selezionata). Se la mia risposta non è chiara, accolgo suggerimenti o forse anche un 'edit'. :) – aikeru

Problemi correlati