【问题标题】:How to show a popup without a browser如何在没有浏览器的情况下显示弹出窗口
【发布时间】:2010-06-24 02:09:42
【问题描述】:

我需要一个“警报”类型的功能来解决错误。我没有使用浏览器,而是使用 javascript 作为 Windows 管理目的。如果我不使用浏览器,他们是查看变量值的一种方式吗?

【问题讨论】:

  • 我不确定你会如何在浏览器之外使用 Javascript,但你试过alert()吗?

标签: windows shell javascript wsh


【解决方案1】:

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

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

由于我不确定的原因,但我认为这与 DOM 在浏览器之外不可用的事实有关,alert 功能是在浏览器之外也不可用。为了在这种情况下向用户弹出一个对话框,您可以使用以下代码:

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

【讨论】:

    【解决方案2】:

    如果你想要一个 Windows GUI 弹出窗口,那么:

    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 程序。

    【讨论】:

      【解决方案3】:

      在 Windows 上,您可以使用 Windows Script Host 来执行您的 javascript。它具有使用Echo 进行输出的内置功能。虽然有一些细微差别,因为 WSH 使用的是 jscript,而不是 javascript,尽管语言相似。

      【讨论】:

        【解决方案4】:

        WScript.EchoWshShell.Popup的区别总结:

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

        【讨论】:

          【解决方案5】:

          您可以创建一个简单的文件来警告传递给它的文本,例如在 python 中。尽管没有浏览器,但我认为在 Javascript 中没有任何方法可以做到这一点。

          【讨论】:

            【解决方案6】:

            不使用 javascript。您可以使用 Visual Basic Sc​​ript 和 MsgBox 函数。无需安装任何东西。

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

            【讨论】:

              【解决方案7】:

              查看 HTA 文件。这些文件类型允许您运行典型的 HTML/VBScript/JS 代码,而无需专门的浏览器。只需将您的 HTML 文件重命名为 HTA 扩展名并运行它。 IT 将显示您的“页面”并执行任何必要的 JS。这种类型的文件将使您能够访问其他 WScript 功能,以及创建文件或在需要时访问 AD。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2012-12-15
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-09-08
                相关资源
                最近更新 更多