내가 jsdom가 작동 :) 여기Node.js를 jsdom 오류
얻기 위해 시도하고 코드입니다 :
var jsdom = require("jsdom");
var request = require("request");
var fs = require('fs');
var jquery = fs.readFileSync("./jquery-1.7.2.js", 'utf-8');
request({ uri:'http://nodejs.org/dist/' }, function (error, response, body) {
if (error && response.statusCode !== 200) {
console.log('HTTP request error... '+error);
}
jsdom.env({
html: body,
scripts: [
jquery
],
done: function(errors, window) {
console.log('done');
}
});
});
그리고 여기 오류입니다 : 나는 경우 확인했다
jsdom.js:171
features = JSON.parse(JSON.stringify(window.document.implementation._fea
^
TypeError: Cannot read property 'implementation' of undefined
페이지가 페치되고 jquery 라이브러리가 파싱되면 - 그것들이있다. ...
[snip]
exports.env = exports.jsdom.env = function() {
[snip]
window = exports.html(html, null, options).createWindow(),
features = JSON.parse(JSON.stringify(window.document.implementation._features)),
docsLoaded = 0,
[snip]
.createWindow()가 성공하지 못한 것으로 보인다
을 그리고 Cloud9에 그것을 실행하고 있습니다 :
우리는 jsdom.js의 구현을 볼 수 있었다.
어떤 도움을 환영합니다.
node 및 jsdom의 어떤 버전입니까? 여기 노드 v0.6.16 및 jsdom 0.2.14에서 작동합니다. (그런데'toString()'호출 대신에'fs.readFileSync (path, 'utf8')'를 할 수 있습니다 ('utf8 '을 넘겨 주어야 할 수도 있습니다)). –
노드의 버전은 0.6.8이고 jsdom의 버전은 0.2.14입니다. – kal3v
코드가 서버 측에서 오는 경우 "창"이 브라우저 측에서만 발생한다고 생각하십시오 – ZiTAL