2012-04-07 22 views
5

Trên một tài liệu jsdom:jsdom kiện hashchange

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

Thay đổi băm của nó:

document.location.href = '#bang'; 

không kích hoạt bất kỳ sự kiện 'hashchange' trên window

Có ai biết một workaround cho điều này ?

Cảm ơn bạn

+0

Tôi có thể sai về điều này, nhưng thông thường bạn muốn sử dụng 'cửa sổ. location.href = '# bang'' thay vì 'document'. Tuy nhiên, không biết đủ về node.js. –

Trả lời

2

Kiểm tra các tài liệu jsdom

Hãy thử điều này trước khi phần còn lại của mã của bạn:

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

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

Rất vui khi nhớ khả năng thiết lập các tùy chọn này! Tuy nhiên, tôi không hiểu làm thế nào bất kỳ của họ ảnh hưởng đến sự kiện 'hashchange' ... Tôi có thiếu cái gì? – abernier

Các vấn đề liên quan