使用node.js监视服务器端的DOM更改

时间:2011-02-23 16:50:00

标签: javascript node.js

我想知道是否可以使用带有jsdom的node.js来加载像twitter search results page这样的网站,并且仍然能够在初始渲染后检测到DOM中的任何更改。

示例:

初始页面

修改后的页面

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

如果要检测DOM树中的更改,您需要了解minified Twitter的javascript代码并正确拦截事件或回调。我不建议你使用这种方法,因为在使用jsdom时,在浏览器中完美运行的js代码可能会中断。例如,当我尝试使用jquery进行一些服务器端报废时,我遇到了bug,这在大多数浏览器中肯定不是问题。

目前,我建议您直接从Twitter使用Search API,这是一种更直接的方法。

希望它有所帮助!

答案 1 :(得分:1)

当然,最好的方法是利用Twitter上的搜索API(或任何相关的API)来实现这一目标。

但是,对于某些其他项目,如果您希望托管一个完整的浏览器环境(JS + dom +渲染器),并且允许您与之交互,那么PhantomJS项目可能会起作用:

http://code.google.com/p/phantomjs/

它托管一个用于自动化的WebKit实例。