📜  javascript 下载当前 html 页面 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:08.916000             🧑  作者: Mango

JavaScript 下载当前 HTML 页面

在 JavaScript 中,可以使用以下两种方式下载当前 HTML 页面:

1. 使用 a 标签

使用 a 标签的 download 属性可以直接下载当前页面:

<a href="#" download="filename.html">Download</a>

这里的 href 属性可以是当前页面的 URL,download 属性用于指定要下载的文件名。

2. 使用 XMLHttpRequest

使用 XMLHttpRequest 对象来下载当前页面可以更加灵活,例如可以在后台执行下载操作,而不会强制用户离开当前页面。

function downloadPage() {
  var xhr = new XMLHttpRequest();
  xhr.open('GET', location.href, true);
  xhr.responseType = 'blob';

  xhr.onload = function() {
    if (xhr.status === 200) {
      var blob = xhr.response;
      var link = document.createElement('a');
      link.href = window.URL.createObjectURL(blob);
      link.download = 'filename.html';
      link.click();
    }
  };

  xhr.send();
}

这里通过 AJAX 请求获取当前页面的二进制数据,创建一个 a 标签并设置其 href 属性为二进制 URL,再设置 download 属性为要下载的文件名,最后在脚本中点击该 a 标签即可开始下载。

注意,使用 XMLHttpRequest 下载当前页面需要注意跨域问题。

以上就是 JavaScript 下载当前 HTML 页面的方法。