从浏览器缓存渲染的页面
Cache rendered pages from browser
我有一项有趣的任务。
我需要对数据库进行页面缓存(使用已执行的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。你还需要什么;很难说。我会从建立一个小的模拟网站开始,并在此基础上进行构建,尝试可能会破坏交易的最困难和最高级的案例。
相关文章:
- image.onload事件和浏览器缓存
- 微软边缘浏览器缓存中的RESTful Angular应用程序
- 使用查询字符串方法清除浏览器缓存
- 浏览器缓存PHP生成的CSS和Javascript文件
- 阻止浏览器缓存上载的图像
- 停止浏览器缓存文本文件
- 从浏览器缓存渲染的页面
- 如何强制从浏览器缓存重新加载当前页面
- 在jquery中按Ctrl+F5清除浏览器缓存
- 如何在注销后从服务器重新加载angular应用程序,而不使用浏览器缓存
- 有没有任何方法可以使用js清除浏览器缓存,至少是我的域相关文件
- mvc项目中javascript和css文件的浏览器缓存
- 阻止浏览器缓存AJAX请求
- 如何使用jquery将ajax响应存储在浏览器缓存中
- 有没有办法防止浏览器缓存滚动位置和缩放级别等值
- 咖啡脚本和浏览器缓存
- 使用 AJAX 提交时使浏览器缓存表单数据
- 检查对象是否适合浏览器缓存
- 浏览器缓存是否知道javascript xmlhttp请求
- $('#textboxId').val() 返回旧值(浏览器缓存问题)