Ошибка jsdom 500 в createWindow

Проблемы с фундаментальной операцией. 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?

Что я пропустил?


person Skip Huffman    schedule 20.10.2014    source источник
comment
Вы получаете ошибку 500, но как она проявляется? Это исключение? Где-то след? (Обновите свой вопрос с этой информацией.)   -  person Louis    schedule 21.10.2014
comment
500 находится на консоли nodeJS.   -  person Skip Huffman    schedule 21.10.2014


Ответы (1)


Хорошо, нашел свое решение. createWindow больше не существует в jsDom. эквивалентная функция предоставляется в атрибуте defaultView. Было бы неплохо, если бы устаревание было чище, чем просто удаление метода.

person Skip Huffman    schedule 22.10.2014