在服务器端使用浏览器Javascript(在Rails 3中)

时间:2010-11-02 15:37:04

标签: javascript jquery ruby-on-rails dom ruby-on-rails-3

有一个很棒的bookmarklet脚本,它采用HTML文档,并使用javascript删除主要文章内容(如Instapaper,但更好)。

我想知道使用Rails 3在服务器端使用相同javascript脚本的最有效方法。

甚至可能吗?理想情况是能够从服务器(在Rails中)请求URL,然后使用javascript解析响应,并返回处理过的文本(然后将其保存到数据库)。

我在考虑只是在Ruby中调整脚本,但这看起来很愚蠢,特别是因为jQuery和javascript本身有一堆用于解析DOM的内置函数。另一方面,脚本使用浏览器中的DOM结构,因此可能需要服务器端浏览器?

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

我们实际上在我们的一个webapps中做了这件事。如果要在Ruby on Rails应用程序中实现服务器端的此功能,最好的办法是使用Ruby HTML / XML解析库,例如Nokogiri

我写了一篇专门解释如何从链接网页中删除重要信息的文章,比如Instapaper使用Ruby + Nokogiri。

Create a Printable Format for Any Webpage with Ruby and Nokogiri

答案 1 :(得分:0)

也许以Rhino Shell之类的方式运行脚本并捕获输出?

答案 2 :(得分:0)

在谈到服务器端Javascript时会想到

Node.js

我认为Javascript的可读性也可以翻译成Ruby,但这可能需要大量的工作。