我目前正在为Microsoft JScript Runtime Environment编写JavaScript脚本。它不是在浏览器中,而是像SysAdmin一样运行将使用VBScript。我编写了很多代码,虽然其中一些代码专门针对需要完成的内容,但大多数代码都支持脚本框架来完成它需要做的事情。我想在其他未来的脚本冒险中使用这些代码,但就我目前的知识而言,我将不得不一遍又一遍地复制和粘贴这些迷你库,这对于一个人来说只是一个更新的噩梦。二,效率低下。我知道当我有window
或document
时可以动态加载JS,我知道Node.js中的require()
JS文件是可能的,但这在原始JScript运行时是可行的对于MS?
答案 0 :(得分:4)
查看Windows Script File (*.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库。
答案 1 :(得分: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找到像“window”这样的全局对象,但你可以创建一个。
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.");
}
我认为“主持人”现在应该有效地成为全球对象。 (无论如何,这个例子对我有用)