Выполнение JavaScript для рендеринга HTML для кэширования на стороне сервера

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

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

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

Есть идеи?

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

18.08.2008 18:01:33
3 ОТВЕТА
РЕШЕНИЕ

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

2
18.08.2008 18:26:10

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

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

2
8.10.2015 07:28:40

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

2
22.01.2016 08:55:44
Дело Ресига именно то, что я ищу.
matt 7.08.2009 17:36:20