これらのブラウザでファイルのダウンロードをさせようとすると、Safariでつまずく。IEですらできるのに、Safariだとできない。新しいタブにダウンロードするファイルの内容を表示して、ユーザにコピペさせるという最悪の動作しかできない。そのようにクライアントサイド(JavaScript)だけでファイルをダウンロードさせる方法を試しているうちにSafari沼にハマってしまった。
ということで、試した内容をまとめようと思う。
- aタグにdownload属性を追加する
- Content-Typeにapplication/octet-streamを指定する
- Content-Dispositionを指定する(サーバサイドの実装が必要)
検証環境は以下のとおり。
- macOS Yosemite
- Safari 10.0.2






