HTML5 的 Download 屬性用來(lái)強(qiáng)制瀏覽器下載對(duì)應(yīng)文件,而不是打開(kāi)。Chrome 和 Firefox 等瀏覽器太過(guò)于強(qiáng)大,也許是為了增強(qiáng)用戶體驗(yàn),當(dāng)用戶點(diǎn)擊的資源文件可以被它們識(shí)別的時(shí)候(例如 pdf 會(huì)直接在瀏覽器打開(kāi),mp3、mp4 等媒體直接用瀏覽器內(nèi)置播放器播放)。但有時(shí)候,用戶其實(shí)是希望直接下載而不是在瀏覽器上看看,這時(shí)就可以加上這個(gè)屬性,屬性值會(huì)對(duì)下載的文件重命名:
<a href="downloadpdf.php" download="download.pdf">點(diǎn)擊直接下載并保存成 download.pdf 文件</a>
如果你確定這個(gè)資源是用戶肯定會(huì)下載的,就可以加上這個(gè)屬性,還可以用 JS 或者手動(dòng)改變想要保存的文件名。
在html里創(chuàng)建一個(gè)是下載鏈接是方便的,添加一個(gè)<a>標(biāo)簽和指向文件的href屬性就行了。但是某些文件不會(huì)被下載(比如圖像,pdf,txt,doc),相反,他們會(huì)在瀏覽器中被打開(kāi)。
如果你的站點(diǎn)是有服務(wù)器端的,你可以通過(guò)配置.htaccess文件來(lái)使得那些文件可以被下載。如果你的站點(diǎn)是被WordPress.com或者github頁(yè)面托管的(靜態(tài)頁(yè)面),那么輕考慮使用<a>標(biāo)簽的download屬性
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <a href="downloadpdf.php" download="download.pdf">點(diǎn)擊直接下載并保存成 download.pdf 文件</a>
JavaScript Code復(fù)制內(nèi)容到剪貼板
- if ( ! Modernizr.adownload ) {
- var $link = $('a');
- $link.each(function() {
- var $download = $(this).attr('download');
- if (typeof $download !== typeof undefined && $download !== false) {
- var $el = $('<div>').addClass('download-instruction').text('Right-click and select "Download Linked File"');
- $el.insertAfter($(this));
- }
- });
- }
這個(gè)腳本是去測(cè)試瀏覽器是否支持download屬性的,如果瀏覽器不支持的話,它就會(huì)想有download屬性的<a>標(biāo)簽下面,插入一個(gè)有download-instruction類(lèi)的<div>標(biāo)簽,并給予文字指引使用右鍵下載。
