Выполнение JavaScript для рендеринга HTML для кэширования на стороне сервера
-
08-06-2019 - |
Вопрос
Существует множество виджетов, предоставляемых сайтами, которые фактически представляют собой фрагменты JavaScript, генерирующие HTML с помощью ДОМ манипуляция или document.write()
.Вместо того, чтобы еще больше замедлять работу браузера дополнительными запросами и доверять еще одному поставщику, который будет быстрым, надежным и не изменит вывод виджета, я хочу выполнить * JavaScript для генерации отображаемого HTML-кода, а затем сохранить этот HTML-источник.
Вещи, которые я изучал и которые кажутся неосуществимыми или слишком сложными:
- Браузер ссылок (только не рысь!)
- Безголовое использование Xvfb плюс Firefox плюс Greasemonkey (ого)
- Инструментарий для браузера на основе Java Cobra (лучший выбор!)
Есть какие-нибудь идеи?
** Очевидно, что вы не можете полностью выполнить JavaScript, поскольку у него не обязательно есть путь выхода, но вы поняли идею.
Решение
Информация из Википедии "Серверный JavaScript" в статье перечислены многочисленные реализации, многие из которых основаны на Mozilla Носорог Конвертер JavaScript в Java или его двоюродный брат Обезьяна -паук (тот же движок, что и в Firefox и других браузерах на базе Gecko).В частности, что-то простое вроде mod_js для Apache может подойти под ваши нужды.
Другие советы
Есть проект Джона Ресига Перенос браузера на сервер:"среда браузера / DOM, написанная на JavaScript, которая работает поверх Носорог;способен запускать jQuery, Prototype и MochiKit (по крайней мере) ".