从浏览器缓存渲染的页面

Cache rendered pages from browser

本文关键字:浏览器 缓存      更新时间:2023-09-26

我有一项有趣的任务。

我需要对数据库进行页面缓存(使用已执行的javascript进行完整渲染的页面)。我正在使用symfony2,我知道如何做到这一点:可能我必须以某种方式使用wkhtmltopdf来渲染页面,并在执行javascript后获得html标记。问题是,这只是一个想法,我不知道你到底是如何执行我的这个想法的。如果你有比我更好的主意,我会很高兴的。任何帮助都将不胜感激。

更清楚地说:让我们看看这是我的页面:

<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>

我需要在没有客户端浏览器参与的情况下实现这一点(这只能在服务器端生成)

你用wkhtmltopdf标记了这个,你尝试过吗?在命令行上,用以下内容执行示例页面:

wkhtmltopdf.exe example.html example.pdf

这应该在服务器上运行,根本没有客户端交互——应用程序的其余部分是布线和选项(实际上还有大量的编码)。有时,您需要添加--javascript-delay 5000或类似的内容来运行更长时间的javascript。你还需要什么;很难说。我会从建立一个小的模拟网站开始,并在此基础上进行构建,尝试可能会破坏交易的最困难和最高级的案例。