4

我目前正在为 Microsoft JScript 运行时环境编写一个 JavaScript 脚本。它不在浏览器中,而是更像系统管理员使用 VBScript 那样运行。我写了很多代码,虽然其中一些是特定于需要完成的,但其中大部分是支持脚本执行它需要做的事情的框架。我想在其他未来的脚本冒险中使用这些代码,但就我目前的知识而言,我必须一遍又一遍地复制和粘贴这些迷你库,嗯,这只是一个更新的噩梦二是效率低下。我知道当我有windowor时可以动态加载 JS document,我知道可以require()在 Node.js 中加载 JS 文件,但这在原始 JScript Runtime for MS 中是否可行?

4

2 回答 2

4

查看Windows 脚本文件 (*.wsf)格式。它的功能之一是允许包含您所描述的内容。取自链接文档的示例:

<job id="IncludeExample">
   <script language="JScript" src="FSO.JS"/>
   <script language="VBScript">
      ' Get the free space for drive C.
      s = GetFreeSpace("c:")
      WScript.Echo s
   </script>
</job>

其中“FSO.JS”包含 JScript 库。

于 2013-01-15T03:57:12.740 回答
0

假设您在谈论 WSH,您可以加载文件并评估内容,这与包含它非常相似。

var incfso=new ActiveXObject("Scripting.FileSystemObject"); 
include = function(x) {
    eval(incfso.OpenTextFile(x,1).ReadAll());
}

来源: http: //www.mailsend-online.com/blog/wsh-javascript-includes.html

我找不到像 jscript 的“窗口”这样的全局对象,但你可以创建一个。

var host = this;
var test = "hello-world";

var messagebox = new ActiveXObject("wscript.shell");

if (host.test) {
    messagebox.Popup("host.test exists, value = " + host.test);
} else {
    messagebox.Popup("host.test does not exist.");
}

我认为“主机”现在应该有效地成为全局对象。(无论如何,这个例子对我有用)

于 2013-01-14T14:13:12.767 回答