经过一些谷歌搜索,我找不到任何满足我需求的东西.我想保存当前的网页,就像它是什么.我的意思是,许多网页都执行了Javascript并且改变了CSS,因此在一些用户交互之后,网页可能与首次加载到浏览器中的网页不同.我想将当前的网页状态保存到服务器并在服务器中呈现它.这个任务有没有Javascript库?谢谢!
序列化一个完整的网页非常简单:
var serialized = document.body.innerHTML;
Run Code Online (Sandbox Code Playgroud)
如果您确实需要完整的文档,包括头部,那么:
var serialized =
'<head>' +
document.getElementsByTagName('head')[0].innerHTML +
'</head><body>' +
document.body.innerHTML +
'</body>';
Run Code Online (Sandbox Code Playgroud)
现在您需要做的就是通过 AJAX 提交。
关于服务器端渲染,这取决于你所说的渲染是什么意思。我目前正在使用wkhtmltopdf在我的网站上实现“另存为 pdf”功能。它在生成 PDF 之前使用 webKit 渲染 HTML,因此完全支持 CSS 和 javascript。
如果您需要将其保存为图像而不是 PDF 文件,您始终可以使用Ghostscript将PDF打印为 JPG/PNG 文件。