2012-04-07 23 views
5

En un documento jsdom:jsdom caso hashchange

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

Cambiando su hash:

document.location.href = '#bang'; 

no se dispara cualquier caso 'hashchange' en window

¿Hay alguien consciente de una solución para este ?

Gracias

+0

podría estar equivocado acerca de esto, pero normalmente tendrá que utilizar 'ventana. location.href = '# bang'' en lugar de 'document'. Sin embargo, no sé lo suficiente sobre node.js. –

Respuesta

2

Mira la jsdom docs

probar este antes que el resto de su código:

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

var window = jsdom.jsdom(body).createWindow(); 
+0

¡Es bueno recordar la capacidad de establecer este conjunto de opciones! Sin embargo, no entiendo cómo afecta alguno de ellos al evento 'hashchange' ... ¿Me estoy perdiendo algo? – abernier