4

https://github.com/tmpvar/jsdomのセクション「Creating a browser-like 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を使用しています。

4

2 に答える 2

4
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);
于 2012-07-12T13:49:12.993 に答える
2

Contextify のインストール エラーが原因でした。私は、Windows または *NIX と Mac のいずれかで開発することに慣れていますが、*NIX ターミナルのおかげで、Make のようなものがあると想定していました。問題は、コマンド ライン ツールを使用して Xcode をインストールすることで解決されました。これにより、とりわけ Make がインストールされ、Contexify のインストール エラーが解決され、全体的な問題が解決されました。

于 2012-07-03T18:54:06.463 に答える