如何使用 SaveFile.js 保存我的 HTML 文档?

How do I save my HTML document using SaveFile.js?

我正在尝试在我的网页上启用保存功能。我正在使用此处找到的 'SaveFile.js' 模块:'https://github.com/eligrey/FileSaver.js/' 当用户单击保存按钮时,文档应将自身下载为 HTML 文件,其中包含其所有元素(如输入框) 、图片等。但是,下载的不是完整的 HTML 文档。 HTML 页面上的一些文字:

为什么会这样?

<button type="button" name="btnSave" onclick="saveHTMLFile()">Save</button>

<script>
  function saveHTMLFile(){
  let fileToSave=document;
  let blob = new Blob([fileToSave],{type:"text/html;charset=utf-8"});
  saveAs(blob,'SavedOutline.html')
}
  </script>

我不确定它是否有帮助,但你可以试试这个安静的代码。

var file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(file);

当您使用新的 Blob() 文档时说它仅适用于 Saving text

您需要将文档序列化为字符串。 尝试使用 document.documentElement.outerHTML 而不是 document.

在您的代码中:


<button type="button" name="btnSave" onclick="saveHTMLFile()">Save</button>

<script>
  function saveHTMLFile(){
  let fileToSave=document.documentElement.outerHTML;
  let blob = new Blob([fileToSave],{type:"text/html;charset=utf-8"});
  saveAs(blob,'SavedOutline.html')
}
  </script>