是否可以使用JavaScript转储DOM并保留CSS效果和布局?
我需要一种方法来获取已经加载到页面中的网页,并保存页面的完整DOM(作为HTML字符串),这样,如果我将HTML作为单个文件脱机加载,它将保留所有CSS的效果以及保存之前运行的任何脚本。保留图像是一个额外的好处,但即使丢失了图像,但保留了一个占位符,这样布局就可以了 问题是我不能重新加载或查询任何资源文件(JS/CSS)。字体并不重要 这意味着生成的HTML不能引用外部文件。仅仅使用JavaScript就可以做到这一点吗 编辑:是否可以使用JavaScript转储DOM并保留CSS效果和布局?,javascript,html,dom,Javascript,Html,Dom,我需要一种方法来获取已经加载到页面中的网页,并保存页面的完整DOM(作为HTML字符串),这样,如果我将HTML作为单个文件脱机加载,它将保留所有CSS的效果以及保存之前运行的任何脚本。保留图像是一个额外的好处,但即使丢失了图像,但保留了一个占位符,这样布局就可以了 问题是我不能重新加载或查询任何资源文件(JS/CSS)。字体并不重要 这意味着生成的HTML不能引用外部文件。仅仅使用JavaScript就可以做到这一点吗 编辑: 1) 这需要是一个使用JavaScript的编程解决方案,而不是浏
1) 这需要是一个使用JavaScript的编程解决方案,而不是浏览器UI解决方案。您可以将整个HTML和内联CSS存储为JavaScript中的变量(您编写)。也许您可以编写一些使用HTML5本地存储来存储外部JS/CSS资源的JS,并在稍后脱机加载页面时使用它们。我想您可以对所有外部资源发出AJAX请求,然后在输出html字符串之前“排队”它们。您甚至可以找到一个js库来对图像进行base64编码并将其内联。但是似乎有很多代码/工作。请查看appcache?不幸的是,我不能发出AJAX请求,因为我不能假设如果页面由某种类型的登录进行保护,我仍然会有一个有效的会话。我需要一个解决方案,字面上采取什么是在网页上,并保留它。难道没有办法内省每个元素的当前状态,并在从DOM中转储HTML之后对其进行修饰,从而使布局保持完整吗?您只是想保留视觉外观吗?或者,完全的交互性(例如javascript)也是如此?前者比后者更可能。@Whookie:他的意思是在捕获页面时发出AJAX请求,而不是在加载页面时发出AJAX请求。基本上找到所有的CSS文件并读取它们的内容并粘贴到一个大的<代码> <代码>块中。我不认为这是一个尝试的答案,但我不会投票,因为我知道你没有足够的声誉来使用评论部分而不是…