событие hashchange jsdom

В документе jsdom:

document = require('jsdom').jsdom("<html><head></head><body></body></html>");
window   = document.createWindow();

Меняем его хеш:

document.location.href = '#bang';

не инициирует 'hashchange' событие на window

Кто-нибудь знает обходной путь для этого?

Спасибо


person abernier    schedule 07.04.2012    source источник
comment
Я могу ошибаться в этом, но обычно вы используете window.location.href = '#bang' вместо document. Однако недостаточно знаю о node.js.   -  person Ja͢ck    schedule 15.05.2012


Ответы (1)


Ознакомьтесь с документацией jsdom

Попробуйте это перед остальной частью вашего кода:

require('jsdom').defaultDocumentFeatures = {
  FetchExternalResources   : ['script'], 
  ProcessExternalResources : ['script'],
  MutationEvents           : '2.0',
  QuerySelector            : false
}

var window = jsdom.jsdom(body).createWindow();
person crazy_prog    schedule 15.05.2012
comment
Приятно вспомнить возможность устанавливать эту кучу опций! Однако я не понимаю, как они влияют на событие hashchange ... Я что-то упускаю? - person abernier; 16.05.2012