2012-04-07 16 views
5

Auf einem jsdom Dokument:jsdom hashchange Ereignis

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

Ändern seiner hash:

document.location.href = '#bang'; 

nicht auslösen jede 'hashchange' Ereignis auf window

Hat jemand kennt eine Abhilfe für dieses ?

Danke

+0

ich darüber könnte falsch sein, aber in der Regel würden Sie 'Fenster verwenden. location.href = '# bang'' anstelle von 'document'. Ich weiß nicht genug über node.js. –

Antwort

2

Schauen Sie sich die jsdom docs

dies von Ihrem Code vor dem Rest Versuchen:

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

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

Schön daran zu erinnern, dass es möglich ist, diesen Haufen an Optionen zu setzen! Ich verstehe jedoch nicht, wie einige von ihnen das 'hashchange'-Ereignis beeinflussen ... Fehle ich etwas? – abernier