javascript - 如何将当前文档的 innerHTML 下载为文件?

标签 javascript download dispatchevent

有没有办法以编程方式将当前文档的innerHTML下载为文件?

我做了以下尝试但没有成功。它会下载当前文档的源代码,但这不是我想要的,因为我想保留任何加载后的文档修改

 var save = document.createElement('a');
 save.href = "my location href.attr";
 save.target = '_blank';
 save.download = fileName || 'unknown';

 var event = document.createEvent('Event');
 event.initEvent('click', true, true);
 save.dispatchEvent(event);

最佳答案

也许是这样的?然而,它可能不是很跨浏览器,但它适用于 Chrome。

function downloadCurrentDocument() {
  var base64doc = btoa(unescape(encodeURIComponent(document.documentElement.innerHTML))),
      a = document.createElement('a'),
      e = new MouseEvent('click');

  a.download = 'doc.html';
  a.href = 'data:text/html;base64,' + base64doc;
  a.dispatchEvent(e);
}
    
downloadCurrentDocument();

关于javascript - 如何将当前文档的 innerHTML 下载为文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885213/

相关文章:

javascript - 如何在javascript中为自定义对象调度事件

javascript - 关于所见即所得编辑器中的字体名称/大小下拉列表

Javascript Push() 替换元素而不是追加

javascript - 如何在 javascript 字符串匹配中返回 bool true/false 单个字母字符串?

java - Android Webview : Cannot call determinedVisibility() - never saw a connection for the pid

java - 关闭下载弹窗java

java - 将图像显示为缩略图,然后下载 Struts2

typescript - 如何使用固定的 X 和 Y Typescript 调度鼠标事件

javascript - 悬停事件上的删除按钮

javascript - 如何在不破坏其他东西的情况下修复 “element.dispatchEvent is not a function”?