Get*_*ree 12 prompt wsh windows-scripting jscript
如何在WSH usig JScript中打开提示对话框?
我在文档中找到的唯一弹出对话框是WshShell.Popup()方法.但是我需要一种方法来请求用户输入一个字符串,比如DOM中的window.prompt()方法.
谢谢.
Aut*_*act 17
我认为WScript对象不提供这样的方法,但是你可以在WSH上运行vbscript来显示输入框.所以这里有一个可能的解决方案,让你从JS中调用VB函数!请注意以下代码片段".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>
Run Code Online (Sandbox Code Playgroud)
aik*_*eru 11
我知道这个问题已得到解答,但我不想使用.wsf的东西,我也不想要加载Internet Explorer的开销(正如我见过其他解决方案那样).我发现使用Google的这个解决方案我认为是最优雅的:
http://with-love-from-siberia.blogspot.com/2009/12/msgbox-inputbox-in-jscript.html
关键是使用ActiveXObject"ScriptControl",将语言设置为VBScript,然后使用ScriptObject.eval()函数.该网站上的示例独立存在.
编辑:对于那些遇到错误与64位或换行等,还有这个改进版本说明如何运行它(像Win7的x64系统)在这里.