【发布时间】:2023-10-06 01:58:01
【问题描述】:
我正在处理一些需要解析大量包含 HTML 片段的文件的代码。似乎 jQuery 对此非常有用,但是当我尝试将 jQuery 加载到 WScript 或 CScript 之类的东西中时,由于 jQuery 对窗口对象的许多引用,它会引发错误。
在没有浏览器的情况下,有什么实用的方法可以在代码中使用 jQuery?
更新:为了响应 cmets,我已经成功编写了 JavaScript 代码来使用 new ActiveXObject('Scripting.FileSystemObject'); 读取文件的内容。我知道 ActiveX 是邪恶的,但这只是一个内部项目,用于从一些包含 HTML 片段的文件中获取一些数据并放入适当的数据库中。
另一个更新:到目前为止,我的代码看起来像这样:
var fileIo, here;
fileIo = new ActiveXObject('Scripting.FileSystemObject');
here = unescape(fileIo.GetParentFolderName(WScript.ScriptFullName) + "\\");
(function() {
var files, thisFile, thisFileName, thisFileText;
for (files = new Enumerator(fileIo.GetFolder(here).files); !files.atEnd(); files.moveNext()) {
thisFileName = files.item().Name;
thisFile = fileIo.OpenTextFile(here + thisFileName);
thisFileText = thisFile.ReadAll();
// I want to do something like this:
s = $(thisFileText).find('input#txtFoo').val();
}
})();
更新:我也在 jQuery 论坛上发布了这个问题:http://forum.jquery.com/topic/how-to-use-jquery-without-a-browser#14737000003719577
【问题讨论】:
-
错误的工作工具,比如说我。如果你喜欢 jQuery 选择器,请查看code.google.com/p/phpquery、pypi.python.org/pypi/pyquery 和其他人。
-
@pistache 不是一回事。 Daniel 已经在浏览器之外运行 JavaScript,他的问题尤其是 jQuery。
-
在 Node.js 上你可以使用jsdom,它实现了 jQuery 需要的 DOM API。但是,我对 WScript 或 CScript 一无所知。您是否特别将它们与它们联系在一起?如果是这样,请编辑标题以反映这一点,因为“使用 jsdom!”可能对您没有帮助,但它会是当前所写问题的有效答案。
-
@JeremyBanks 使用 node.js 你可以使用 jquery(有一个用于 jquery 的 npm 包)
标签: javascript jquery jscript wsh