HTML5で実装されている新機能の1つに、アンカータグの属性がdownload
です。この属性の利点は、イメージなどのクライアントアプリケーション内で作成されたコンテンツ(キャンバスから変換されたものなど)をダウンロードする手段をユーザーに提供することです。HTML5の「ダウンロード」属性のサポートを検出するにはどうすればよいですか?
現在のところ、この機能のサポートは非常に貧弱なので、ブラウザでこの機能のサポートをどのように検出することができますか。
HTML5で実装されている新機能の1つに、アンカータグの属性がdownload
です。この属性の利点は、イメージなどのクライアントアプリケーション内で作成されたコンテンツ(キャンバスから変換されたものなど)をダウンロードする手段をユーザーに提供することです。HTML5の「ダウンロード」属性のサポートを検出するにはどうすればよいですか?
現在のところ、この機能のサポートは非常に貧弱なので、ブラウザでこの機能のサポートをどのように検出することができますか。
Modernizrアプローチを使用します要素を作成し、属性が定義されているかどうかを確認:簡略化され、物事を保つために
var a = document.createElement('a');
if (typeof a.download != "undefined") {
alert('has support');
}
シングルラインif
条件:download
ため
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.');
}
サポート(実際のOperaではChrome 14+、Firefox 20+、IE 13+、Safari 10+、サポートなし)上記のスクリプトは、サポートされているブラウザを妨げません。
または短いバージョン 'var downloadAttrSupported =(document.createElement(" a ")の中の" download ")' – Andreas
私はModernizr自体を含めて提案しましたが、これは1つのユースケースのためには本当に良いかもしれません。 – bakkerjoeri
@AndreiOniga提案いただきありがとうございます、私は私の答えを更新しました。たぶん*(typeof a.download == 'string')*はまだ安全でしょうか? – McGarnagle