【问题标题】:Using Browser Javascript on Server Side (in Rails 3)在服务器端使用浏览器 Javascript(在 Rails 3 中)
【发布时间】:2010-11-02 15:37:03
【问题描述】:

有一个很棒的书签脚本,它接受一个 HTML 文档,并使用 javascript 去除主要文章内容(如 Instapaper,但更好)。

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

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

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

有什么建议吗?

【问题讨论】:

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


【解决方案1】:

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

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

Create a Printable Format for Any Webpage with Ruby and Nokogiri

【讨论】:

  • 太棒了。这完全有道理。谢谢!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    Node.js 在谈到服务器端 Javascript 时会浮现在脑海中。

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

    【讨论】:

      猜你喜欢
      • 2011-10-15
      • 1970-01-01
      • 2019-10-23
      • 2011-01-09
      • 2010-10-04
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2012-02-22
      相关资源
      最近更新 更多