如何在没有浏览器的情况下显示弹出窗口

4

我需要一种“警报”类型的功能来解决错误。由于我不是在浏览器中使用JavaScript,而是在Windows管理目的下使用,所以有没有办法在不使用浏览器的情况下查看变量的值?


我不确定在浏览器之外如何使用Javascript,但你尝试过alert()吗? - Chad Levy
7个回答

9

JScript是一种基于ECMAScript标准的脚本语言。

JScript被实现为一个Windows Script引擎。这意味着它可以被“插入”到任何支持Windows Script主机的应用程序中,例如Internet Explorer、Active Server Pages等。这也意味着任何支持Windows Script的应用程序都可以使用多种语言——JScript、VBScript、Perl等。

由于某些原因,我不确定是什么原因,但我认为与DOM在浏览器之外不可用有关,alert函数在浏览器之外也不可用。在这种情况下,您可以使用以下代码弹出对话框:

WScript.Echo('The quick brown fox jumped over the lazy dog');

3
如果您想要一个 Windows 图形用户界面弹出窗口,则:
var timeout = 0;
var buttons = 0;  // OK
var icon = 48; // Exclamation

var shell = new ActiveXObject("WScript.Shell");
shell.Popup("text ...", timeout, "window title", buttons + icon);

使用wscript命令运行您的jscript程序。


1

WScript.EchoWshShell.Popup之间的区别总结:

  • Windows脚本(vbs、js、wsf等)可以在两个主机下运行:cscript.exe(命令行)和wscript.exe(图形界面)。在cscript下,WScript.Echo将在控制台窗口中产生一行文本。即使在cscript下,WshShell.Popup也会产生一个消息窗口。
  • WshShell.Popup允许您指定按钮、标题和图标类型,就像VB/VBS MessageBox函数一样。它还允许您指定消息保持打开的时间。
  • WScript.Echo允许您传递多个字符串参数以输出,并将它们用空格分隔打印。

1
在Windows上,您可以使用Windows Script Host执行JavaScript。它具有使用Echo进行输出的内置能力。但是,由于WSH使用jscript而不是JavaScript,因此存在一些细微差别,尽管这两种语言很相似。

0

没有用JavaScript,但您可以使用Visual Basic Script和MsgBox函数。无需安装任何东西。

'In Hello.vbs. Comments starts with '
MsgBox "Hello there"

0
您可以创建一个简单的文件,例如在Python中,它将警报传递给它的文本。但是,我认为在没有浏览器的情况下,无法使用JavaScript实现这一点。

0
看看HTA文件。这些文件类型允许您运行典型的HTML/VBScript/JS代码,而无需特定的浏览器。只需将您的HTML文件重命名为HTA扩展名并运行它。它将显示您的“页面”并执行任何必要的JS。这种类型的文件还将为您提供访问其他WScript函数的权限,例如创建文件或访问AD(如果需要)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接