执行JavaScript以呈现用于服务器端缓存的HTML

时间:2008-08-18 18:01:34

标签: javascript html rendering greasemonkey

网站提供了许多小部件,这些小部件实际上是通过 DOM 操作或document.write()生成HTML的JavaScript。而不是通过额外的请求减慢浏览器的速度,并且信任另一个提供者快速,可靠并且不更改窗口小部件输出,我想执行* JavaScript来生成呈现的HTML,然后保存该HTML源。

我看过的事情似乎不可行或太难:

  1. 链接浏览器( not lynx!
  2. 无头使用Xvfb加Firefox + Greasemonkey( yikes
  3. 全Java浏览器工具包Cobra(最好的选择!
  4. 有什么想法吗?

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

3 个答案:

答案 0 :(得分:2)

John Resig的项目Bringing the Browser to the Server:“用JavaScript编写的浏览器/ DOM环境,运行在Rhino之上;能够运行jQuery,Prototype和MochiKit(至少)。 “

答案 1 :(得分:2)

维基百科的"Server-side JavaScript"文章列出了许多实现,其中许多是基于Mozilla的 Rhino JavaScript-to-Java转换器,或其表兄 SpiderMonkey (相同)在Firefox和其他基于Gecko的浏览器中找到的引擎)。特别是,像Apache这样简单的mod_js可能会满足您的需求。

答案 2 :(得分:2)

如果你只是使用普通的JS,那么Rhino就可以了。但是如果JS代码实际上调用DOM方法等等,那么你将需要一个成熟的浏览器。 Crowbar可能会对您有所帮助。

这是否真的会让用户更快地处理而不会导致兼容性问题?