如何检测对HTML5的支持"下载"属性?

时间:2012-08-24 16:00:01

标签: javascript html5

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

目前,对此功能的支持非常差,因此我想知道如何在浏览器中检测对此功能的支持。

2 个答案:

答案 0 :(得分:58)

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

var a = document.createElement('a');
if (typeof a.download != "undefined") {
    alert('has support');
}

答案 1 :(得分: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中不支持。上述脚本不会干扰支持的浏览器。