tôi đang cố gắng để có được jsdom làm việc :)Node.js jsdom lỗi
Dưới đây là các mã:
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');
}
});
});
Và đây là lỗi:
jsdom.js:171
features = JSON.parse(JSON.stringify(window.document.implementation._fea
^
TypeError: Cannot read property 'implementation' of undefined
Tôi đã kiểm tra nếu trang được tìm nạp và nếu jquery lib được phân tích cú pháp - chúng là.
Chúng ta có thể nhìn vào việc thực hiện các jsdom.js:
[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]
Dường như .createWindow() không phải là thành công ...
Và tôi chạy nó trên Cloud9.
Mọi trợ giúp đều được chào đón.
Phiên bản nào của nút và jsdom? Nó hoạt động ở đây với nút v0.6.16 và jsdom 0.2.14. (Bằng cách này, bạn có thể làm 'fs.readFileSync (đường dẫn, 'utf8')' thay vì lệnh 'toString()' (mà bạn cũng có thể nên chuyển ''utf8'')). –
Phiên bản của nút là 0.6.8 và phiên bản của jsdom là 0.2.14. – kal3v
nếu mã từ phía máy chủ tôi nghĩ "cửa sổ" chỉ từ phía trình duyệt – ZiTAL