I am trying to get jsdom to work :)
Here is the code:
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'); } }); });
And here is the error:
jsdom.js:171 features = JSON.parse(JSON.stringify(window.document.implementation._fea ^ TypeError: Cannot read property 'implementation' of undefined
I checked if the page is selected, and if the jquery lib is parsed, they are.
We could look at the jsdom.js implementation:
[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]
It seems that .createWindow () failed ...
And I run it on Cloud9 .
Any help is appreciated.
kal3v
source share