开发者

How to show a popup without a browser

I need an "alert" type feature to troubleshoot an error. I am not using a browser and开发者_高级运维 using javascript as windows administaration purposes. So is their a way to view a varibales value if I am not using a browser?


JScript is a scripting language based on the ECMAScript standard.

JScript is implemented as a Windows Script engine. This means that it can be plugged in to any application that supports the Windows Script host, such as Internet Explorer, Active Server Pages, etc. It also means that any application supporting Windows Script can use multiple languages — JScript, VBScript, Perl, and others.

For reasons that I am not sure about, but I believe it to be related to the fact the the DOM is not available outside the browser, the alert function is also not available outside the browser. In order to popup a dialog box to the user in this case you can use the following code:

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


If you want a windows GUI popup, then:

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);

and run your jscript program with the wscript command.

  • Microsoft JScript language reference.
  • Popup documentation.


On windows, you can use Windows Script Host to execute your javascript. It has a built in ability to do output, using Echo. There are some nuances though, since WSH uses jscript, not javascript, though the languages are similar.


A summary of the differences between WScript.Echo and WshShell.Popup:

  • Windows scripts (vbs, js, wsf etc.) can be run under one of two hosts: cscript.exe (command-line), and wscript.exe (graphical). Under cscript, WScript.Echo will produce a line of text in the console window. WshShell.Popup will always produce a message window, even under cscript.
  • WshShell.Popup lets you specify the buttons, title and icon type, like the VB/VBS MessageBox function. It also lets you specify how long the message should remain open.
  • WScript.Echo lets you pass multiple string arguments to output, and will print them separated with spaces.


You can create a simple file that will alert text that is passed to it, for example in python. I don't think there is any way to do this in Javascript though without a browser.


No with javascript. You can, using Visual Basic Script and MsgBox function. No need to install anything.

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


Look at HTA files. These file types allow you to run typical HTML/VBScript/JS code without the need for a browser specifically. Just rename your HTML file to an HTA extension and run it. IT will show your "page" and execute any JS necessary. This type of file will give you access to other WScript functions as well like creating Files or accessing AD if required.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜