a標簽的download屬性簡介


最近在工作中需要一個前端直接下載靜態文件的需求,之前有粗略的了解過a標簽的download屬性,通過download和href屬性可以實現文件的下載。

簡介

HTML <a> 元素 (或錨元素) 可以創建一個到其他網頁、文件、同一頁面內的位置、電子郵件地址或任何其他URL的超鏈接。

href和download是我們下載文件所需要的兩個屬性:
- href:是指這個超鏈接指向的url地址;
- download:該屬性是HTML5新增的屬性,此屬性是讓我們的瀏覽器下載URL而不是跳轉到URL所指向的內容,所以若我們需要下載文件到本地,需要設置這個屬性值。

下載一張圖片

1. 使用href屬性,指定圖片地址:

<a href='./img/img01.jpg'>查看圖片</a>

這樣的情況,我們得到的效果是,頁面跳轉到指定的url地址。
2. 增加download屬性試試:

<a href="./img/img01.jpg" download="dog.jpg">下載圖片</a>

Firefox彈出下載框,chrome直接下載,safari沒有響應下載,依舊跳轉到指定url顯示圖片,其他瀏覽器尚未測試。所以這個屬性目前兼容性確定不怎么好。我的當前chrome版本: 70.0.3538.77(正式版本);

兼容性

caniuse上查詢的兼容性數據:

檢測當前瀏覽器是否支持download屬性:

let canSupportDownload = 'download' in document.createElement('a');

目前我們可以在瀏覽器預覽的文件還有pdf、ppt、txt等,倘若能夠通過a標簽直接下載到本地,這利於用戶也利於開發,也不需要server再來處理文件下載。但是現目前的兼容性還是一個大問題,並不適合投入到項目中,期待未來,前路漫漫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM