网站提供了许多小部件,它们实际上是 JavaScript 代码,通过以下方式生成 HTML: DOM 操纵或 document.write(). 。我不想通过额外的请求进一步减慢浏览器的速度,也不想相信另一个提供者能够快速、可靠且不会更改小部件输出,我想执行* JavaScript 来生成呈现的 HTML,然后保存该 HTML 源代码。

我研究过的事情似乎不可行或太困难:

  1. 链接浏览器(不是山猫!)
  2. 无头使用 Xvfb 加 Firefox 加 Greasemonkey (哎呀)
  3. 全 Java 浏览器工具包 Cobra (最好的选择!)

有任何想法吗?

** 显然你不能真正完全执行 JavaScript,因为它不一定有退出路径,但你明白了。

有帮助吗?

解决方案

维基百科的 “服务器端 JavaScript” 文章列出了许多实现,其中许多是基于 Mozilla 的 犀牛 JavaScript 到 Java 转换器或其同类 蜘蛛猴 (与 Firefox 和其他基于 Gecko 的浏览器中的引擎相同)。特别是,像这样简单的事情 模组js Apache 可能会满足您的需求。

其他提示

如果你只是使用普通的 JS, 犀牛 应该可以解决问题。但如果 JS 代码实际上调用 DOM 方法等,您将需要一个成熟的浏览器。 撬棍 可能对你有帮助。

这真的会让用户的操作速度更快而不会引起兼容性问题吗?

这是 John Resig 的项目 将浏览器连接到服务器: :“浏览器/DOM 环境,用 JavaScript 编写,运行在 犀牛;能够运行 jQuery、Prototype 和 MochiKit(至少)。”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top