当您使用“另存为”命令时,Internet Explorer(所有版本)似乎完全忽略对DOM所做的任何更改,在第一次加载时将保存的版本还原为网页的状态。这会影响您尝试保存应用当前状态快照的javascript应用。
在下面的简单示例中,当您加载页面时,会出现一个随机数。在Firefox或Chrome中保存此页面会导致在生成的已保存文档中该数字为FIXED(因为下次打开它时,.generateRandomNumber范围已被删除并被覆盖,因此JS不会被执行)。
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(function($) {
if ($('.generateRandomNumber').length) {
var randomNumber = Math.round(Math.random() * 1000);
$('.generateRandomNumber').remove();
$('body').html(randomNumber);
}
});
</script>
</head>
<body>
<span class="generateRandomNumber"></span>
</body>
</html>
您还可以通过IE控制台执行以下操作来查看行为:
var w = window.open();
w.document.body.innerHTML = "Hello world. Please save me";
另一个简单的例子是将以下脚本运行到任何页面(来自IE开发控制台)。运行它,观看HTML擦除,保存,打开保存的版本,然后重新看到原始网站。
document.body.innerHTML = "";
保存该新文档,下次打开文本时文本将会消失。
我已经回顾了以下几页,但现在找到了解决方案:
Save the document generated by javascript
非常感谢任何帮助。
答案 0 :(得分:2)
如果您点击F12,开发者工具将会打开。单击开发人员工具窗口中的保存按钮,它将当前版本的DOM保存为HTM文件。
您必须单独保存其他资源(图片,js,css等)。