我目前正在为微软JScript运行时环境编写一个JavaScript脚本。它不是在浏览器中运行,而是更像SysAdmin使用VBScript那样运行。我已经写了很多代码,虽然其中一些代码是针对需要完成的特定内容的,但其中大部分都是支持框架,让脚本完成它需要做的事情。我想在将来的脚本开发中使用这些代码,但就我目前所知,我必须一次又一次地复制和粘贴这些迷你库,这只是一次又一次的更新噩梦,效率很低。我知道当我有一个window
或document
的时候,动态加载JS是可能的,我知道在Node.js中require()
JS文件是可能的,但是在MS的原始JScript运行时中这是可能的吗?
发布于 2013-01-15 03:57:13
查看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库。
发布于 2013-01-14 14:13:13
假设你谈论的是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.");
}
我认为"host“现在实际上应该是全局对象。(不管怎么说,这个例子对我来说是可行的)
https://stackoverflow.com/questions/14319592
复制相似问题