Выполнение JavaScript для рендеринга HTML для кэширования на стороне сервера - PullRequest
10 голосов
/ 18 августа 2008

Существует множество виджетов, предоставляемых сайтами, которые фактически представляют собой кусочки JavaScript, которые генерируют HTML с помощью DOM манипуляций или document.write(). Вместо того, чтобы еще больше замедлять работу браузера с дополнительными запросами и доверять еще одному провайдеру, чтобы он был быстрым, надежным и не менял вывод виджетов, я хочу выполнить * JavaScript для генерации визуализированного HTML, а затем сохранить этот источник HTML.

Вещи, которые я изучал, кажутся неосуществимыми или слишком сложными:

  1. Браузер ссылок ( не рысь! )
  2. Безголовое использование Xvfb плюс Firefox плюс Greasemonkey ( yikes )
  3. Полнофункциональный браузерный инструментарий Cobra ( лучшая ставка! )

Есть идеи?

** Очевидно, что вы не можете полностью выполнить JavaScript, так как он не обязательно имеет выходной путь, но вы поняли идею.

Ответы [ 3 ]

2 голосов
/ 18 августа 2008

Если вы просто используете простой JS, Rhino должен добиться цели. Но если код JS фактически вызывает методы DOM и так далее, вам понадобится полноценный браузер. Лом может вам помочь.

Это действительно ускорит работу пользователей, не вызывая проблем с совместимостью?

2 голосов
/ 26 августа 2008

Это проект Джона Резига Вывод браузера на сервер : «среда браузера / DOM, написанная на JavaScript, работающая поверх Rhino ; способная запускать jQuery, Prototype, и MochiKit (как минимум). "

2 голосов
/ 18 августа 2008

Википедия "Серверный JavaScript" В статье перечислены многочисленные реализации, многие из которых основаны на Rhino конвертере JavaScript в Java Mozilla или его кузене SpiderMonkey (тот же движок, что и в Firefox и других браузерах на основе Gecko). В частности, что-то простое, например mod_js для Apache, может удовлетворить ваши потребности.

...