テキストファイルの出力
JavaScriptだけでもテキストファイル(UTF-8)の出力ってできるんですね。
ただし以下は、Blobオブジェクトを使っています。なのでHTML5 File APIを使用してます。たとえば、IE9以下は未対応なので、仕事のコードでは使用し(でき)ませんでした。。
function OutputText(text, fileName) { var b = new Blob(["\uFEFF", text]); if (navigator.msSaveBlob) { navigator.msSaveOrOpenBlob(b, fileName); } else { var a = document.createElement('a'); a.href = URL.createObjectURL(b); a.setAttribute('download', fileName); a.dispatchEvent(new CustomEvent('click')); } }
たとえばHTMLフォームのボタンから以下のように呼びだします。
<input type="button" value="exec" onclick="OutputText('こんにちは!', 'output.txt');" />
とくに、意味はないですが一行のJavaScriptのブックマークレットも作ってみました。お気に入りのURLに入れて保存して、クリックすると「こんにちは!」という文字列のファイルがDLできるだけです。
javascript:b=new%20Blob(["\uFEFF","\u3053\u3093\u306B\u3061\u306F\uFF01"]);f="test.txt";if(navigator.msSaveBlob){navigator.msSaveOrOpenBlob(b,f);}else{a=document.createElement('a');a.href=URL.createObjectURL(b);a.setAttribute('download',f);a.dispatchEvent(new%20CustomEvent('click'));}