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