我想使用nodejs访问javascript文件的DOM。
var fs = require('fs');
var jsdom = require('jsdom');
var doc = jsdom.jsdom(fs.readFileSync("a.html"), null, {
features: {
FetchExternalResources : ['script'],
ProcessExternalResources : ['script'],
MutationEvents : '2.0',
}
});
var window = doc.createWindow();
jsdom.jQueryify(window, "http://code.jquery.com/jquery-1.5.min.js", function() {
console.log(window.a);
console.log(window.$().jquery); //jquery version
});
nodejs:5.1.2 | jsdom:7.x | npm:3.3.12
答案 0 :(得分:2)
documentation表示jsdom.jsdom
的签名是:
jsdom(markup, options);
您目前为null
传递options
,并在第3个参数中传递您的选项。删除null
:
var doc = jsdom.jsdom(fs.readFileSync("a.html"), {
features: {
// ...
}
});