Проблемы с фундаментальной операцией. jsdom.jsdom возвращает 500 ошибок в createWindow.
Образец кода:
var getaPage=function (req, res, callback) {
jsdom.defaultDocumentFeatures={
FetchExternalResources : ['script'],
ProcessExternalResources : ['script'],
MutationEvents : '2.0',
QuerySelector : false
};
//This is someone's sample, my real code is more complex, but this shows the error
var htmlDoc = '<html lang="en-US">' +
'<head>' +
'<title>Test document</title>' +
'<script>' +
'var testVar = true;' +
'</script>' +
'<script src=\'http://code.jquery.com/jquery-latest.js\'></script>' +
'<script>' +
'</script>' +
'</head>' +
'<body id="mainPage">' +
'</body>' +
'</html>';
var tstDocument=jsdom.jsdom(htmlDoc);
var tstWindow=tstDocument.createWindow();
//yeah, I am just trhowing this out for the moment
var contents=[{label:'a label', value:'a value'}];
//real values after I get this thing working
callback(contents);
};
Я получаю ошибку 500 (в консоли nodeJS *). Если я включаю строку createWindow. Если я прокомментирую его, код будет завершен и вернет «содержимое» вызывающему приложению. (Вызов ajax в эту функцию просто получает состояние «.fail» с «Внутренней ошибкой сервера»)
*GET /sample/getaPage 500 112 мс — 1,49 КБ
Дополнительная информация При проверке объекта tstDocument я не вижу метода createWindow. Зачем jsdom создавать объект без метода createWindow?
Что я пропустил?