我正在尝试按照 https://github.com/tmpvar/jsdom 上非常简短的设置说明进行操作在“创建类似浏览器的 BOM/DOM/Window”部分下。不幸的是,在第 3 行(.createWindow 步骤)之后,我执行了 console.log(window) 并打印了一个空对象。那里至少应该有 window.document,但没有。似乎 document.createWindow 的行为与 jsdom.createWindow 相同。
到目前为止,这是我的代码:
var jsdom = require('jsdom').jsdom;
document = jsdom("<html><head></head><body>hello world</body></html>");
window = document.createWindow();
console.log(window); // output: {}
console.log(window.document.innerHTML); // error, cannot read innerHTML on undefined
那么,我做错了什么蠢事?
FYI 文档已正确创建。打印它会输出一个非常大的对象。
我正在使用 Mac。
最佳答案
var jsdom = require('jsdom').jsdom;
document = jsdom('<!doctype html><html><body>hello jsdom</body></html>');
window = document.createWindow();
console.log(window);
var txt = window.document.body.innerHTML;
console.log(txt);
关于javascript - jsdom document.createWindow() 为非空文档返回空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11301119/