jsdom hashchange 事件

Posted

技术标签:

【中文标题】jsdom hashchange 事件【英文标题】:jsdom hashchange event 【发布时间】:2012-04-20 16:42:50 【问题描述】:

在jsdom 文档上:

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

更改其哈希:

document.location.href = '#bang';

不会在window 上触发任何'hashchange' 事件

有人知道解决方法吗?

谢谢

【问题讨论】:

我可能错了,但通常你会使用window.location.href = '#bang' 而不是document。虽然对 node.js 了解不够。 【参考方案1】:

查看jsdom 文档

在你的其他代码之前试试这个:

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


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

【讨论】:

很高兴记住设置这一系列选项的能力!但是,我不明白它们中的任何一个如何影响hashchange 事件......我错过了什么吗?

以上是关于jsdom hashchange 事件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery不支持hashchange事件

jQuery - hashchange 事件

以编程方式触发 jsdom 窗口中的滚动或按键事件

仅捕获不是由锚点点击引起的 hashchange 事件

通过 JavaScript 或 jQuery 停止在 hashchange 事件上加载图像

JS Hashchange 事件的 msie 问题