1. 使用场景
download 属性主要用于指定链接下载文件时的文件名,特别适用于浏览器无法直接解析或显示的文件类型,如 .txt、.csv 或其他自定义格式文件。
2. 核心代码示例
var textArea = document.querySelector('textarea');
var downloadButton = document.querySelector('input[type="button"]');
// 定义下载文件的方法
var downloadFile = function(content, fileName) {
var link = document.createElement('a');
link.download = fileName;
link.style.display = 'none';
// 将文本内容转换为 Blob 对象
var blob = new Blob([content], {type: 'text/plain;charset=utf-8'});
link.href = URL.createObjectURL(blob);
// 添加到 DOM 并触发点击事件以开始下载
document.body.appendChild(link);
link.click();
// 下载完成后从 DOM 中移除元素
document.body.removeChild(link);
};
if ('download' in document.createElement('a')) {
// 浏览器支持 download 属性
downloadButton.addEventListener('click', function() {
downloadFile(textArea.value, 'example.txt');
});
} else {
// 不支持 download 属性时的处理
downloadButton.Onclick= function() {
alert('当前浏览器不支持 download 属性');
};
}
3. 兼容性说明
download 属性在现代浏览器中广泛支持,包括 Chrome、Firefox、Edge 和 Safari。然而,在一些较旧版本的浏览器中可能不被支持,因此在实际应用中需要进行适当的检测和回退处理。
4. 参考资料
更多关于 download 属性的信息,可以访问 MDN Web 文档:MDN Web Docs - : The Anchor element