唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

JavaScriptでテキストファイルに名前を付けて保存(Chromeのみ)

テキストデータをテキストファイルとして名前を付けて保存したい時用.
a要素のdownload属性を使っているのでたぶんChromeのみ(?)です.


具体的にはa要素を作ってAlt + Clickのイベントを発生させることで保存させています.
テキストはData URIスキームの形で与えます.

var saveText = function(text, filename) {
    var a = document.createElement('a');
    a.href = 'data:text/plain,' + encodeURIComponent(text);
    a.download = filename;
    var evt = document.createEvent('MouseEvents');
    evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, true, false, false,  0, null);
    a.dispatchEvent(evt);
}

saveText('テキスト', 'ファイル名.txt');