Home > Latest topics

Latest topics > JavaScriptでテキストファイルを生成してダウンロードさせる

Firefox 3 Hacks好評発売中。本書の1/3を占めてしまっている第3章でFUELやらPlacesデータベースのテーブル定義やらJavaScriptコードモジュールやらを解説しています。Software Design 2007年4月号第2特集の再録の拡張機能開発チュートリアルと併せてどうぞ。

Firefox 3 Hacks Mozillaテクノロジ徹底活用テクニック
江村 秀之 池田 譲治 下田 洋志 松澤 太郎 dynamis
オライリージャパン

JavaScriptでテキストファイルを生成してダウンロードさせる - Oct 05, 2005

どうでもいい小ネタ。

  • Content-Typeがapplication/octet-streamなデータを受信すると、ブラウザはそのファイルをダウンロードして保存するためのダイアログを表示する(という物が多い)。
  • data: URLを使うと、URIの中にデータを埋め込むことができる。

この二つの事柄から、application/octet-streamなdata: URLを読み込ませれば、Webページ上のJavaScriptだけでもファイルの生成と保存ができるのではないか? と推測することができる。ンで、Firefoxで実際に試してみた。


var text = textbox.value;
location.href = 'data:application/octet-stream,'+encodeURIComponent(text);

こんな感じに書いてみたところ、改行も含めて問題なくいけた(ダウンロードされたファイルのエンコーディングはUTF-8)。ただし、ファイル名をユーザ自身が指定し直さないといけないのが欠点。

まあ無いよりはマシだろうということで、これを使って高橋メソッド in XUL リターンズの編集画面に「保存」機能を付けてみたわけですが。

malaさんよりタレコミ。<a href="data:...">ファイル名</a>というリンクを生成してAlt-クリックすると、アンカー文字列がファイル名になるそうな。XULでは使えない技だけど、メモ。

追記@2005.10.6

Operaでもいけるらしい。

Comments/Trackbacks

TrackBack ping me at


の末尾に今の日本の首相の名字(ローマ字で回答。ヒント:8文字)を繋げて下さい。例えば「asou」なら、「2005-10-05_download.trackbackasou」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

今の日本の首相の名字(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

過去の記事

1999.2~2005.8

内容が似ているかもしれない他の人のblog

「あわせて読みたい」によると、ここを見てる人はこのあたりのサイトも見ると面白いかもね、とのことです。

オススメ

Mozilla Firefox ブラウザ無料ダウンロード