<a>
焦点
<a></a>在没有设置 href 属性时,是无法获取焦点的。
下载
常用的下载方法
typescript
const downloadByUrl = (url: string, filename: string) => {
if (!url) throw new Error('当前没有下载链接');
const a = document.createElement("a");
a.style.display = "none";
a.href = url;
a.download = filename;
// 使用target="_blank"时,添加rel="noopener noreferrer" 堵住钓鱼安全漏洞 防止新页面window指向之前的页面
a.rel = "noopener noreferrer";
document.body.append(a);
a.click();
setTimeout(() => {
a.remove();
}, 1000);
};download 使用注意点
同源 URL 的限制
download 只在同源 URL 或
blob:、data:协议起作用首先,非同源 URL 会进行导航操作。其次,如果非要下载,那么正如上面的文档所说,可以先将其转换为
blob:或data:再进行下载。download 与 Content-Disposition 的优先级
当两者都指定了
filename时,会优先使用Content-Disposition中的文件名。
