45

HTML5 中实现的新功能之一是download锚标记的属性。此属性的好处是它为用户提供了下载在客户端应用程序中创建的内容的方法,例如图像(例如,从画布转换而来)。

目前,对这个功能的支持很差,所以我想知道如何在浏览器中检测到对这个功能的支持。

4

2 回答 2

63

使用Modernizr方法:创建元素,并检查属性是否已定义:

var a = document.createElement('a');
if (typeof a.download != "undefined") {
    alert('has support');
}
于 2012-08-24T16:04:53.003 回答
1

if使事情简化的单行条件:

if (document.createElement('a').download==undefined && e.target.hasAttribute('download'))
{
 e.preventDefault();
 console.log('Error: this is a download link, please right-click to save the file.');
}

对该download属性的支持参差不齐(Chrome 14+、Firefox 20+、IE13+、Safari 10+,并且在(真正的)Opera 中不支持。上面的脚本不会干扰支持的浏览器。

于 2016-12-07T00:05:19.850 回答