📅  最后修改于: 2023-12-03 15:16:08.916000             🧑  作者: Mango
在 JavaScript 中,可以使用以下两种方式下载当前 HTML 页面:
a
标签使用 a
标签的 download
属性可以直接下载当前页面:
<a href="#" download="filename.html">Download</a>
这里的 href
属性可以是当前页面的 URL,download
属性用于指定要下载的文件名。
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 页面的方法。