Кэширование отображаемых страниц из браузера

0

У меня есть интересная задача.

Мне нужно сделать кеширование страниц в базу данных (полная страница с исполняемым javascript). Я использую symfony2, и у меня есть идея, как я могу это сделать: вероятно, мне нужно wkhtmltopdf каким-то образом использовать wkhtmltopdf для рендеринга страницы и получить разметку html после выполнения javascript. Проблема в том, что это справедливо и идея, и я не знаю, как именно вы выполняете мою идею. Если у вас есть идея лучше, чем моя, я буду очень счастлив. Любая помощь будет оценена.

Чтобы быть более ясным: Давайте рассмотрим эту страницу:

<html>
    <head>
        stuff...
    </head>
    <body>
        <div id="content">

        </div>
    </body>
    <script>
        for(var i = 0; i< 3; i++) {
            $('#content').append('<p>'+i+'</p>');
        }
    </script>
</html>

и я хочу получить это:

<html>
    <head>
        stuff...
    </head>
    <body>
        <div id="content">
            <p>0</p>
            <p>1</p>
            <p>2</p>
        </div>
    </body>
</html>

Мне нужно, чтобы это произошло без участия клиентского браузера (это будет создано только на стороне сервера)

  • 0
    Javascript выполняется на клиенте, а не на сервере. Учитывая, что он часто используется для изменения отображаемого HTML на лету в ответ на пользовательский ввод, в какой момент вы будете кэшировать визуализированный HTML? Это не кажется очень практичным.
  • 0
    В этом случае это необходимо, я просто ищу решение. Мне нужна разметка страницы после того, как весь javascript при загрузке страницы выполнен
Теги:
caching
wkhtmltopdf

1 ответ

0

Вы отметили это с помощью wkhtmltopdf, вы попробовали? В командной строке выполните страницу с примером:

wkhtmltopdf.exe example.html example.pdf

Это должно в значительной степени работать на сервере без взаимодействия с клиентом вообще - остальное приложение - это проводка и опции (и много и много кода). Иногда вам нужно добавить - --javascript-delay 5000 или такой для более длительного запуска javascript. Что еще вам нужно на самом деле; это трудно сказать. Я бы начал с создания небольшого сайта макета и построения на нем этого, опробовав самые сложные и сложные случаи, которые могли бы быть нарушителями сделок.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню