javascriptを勉強していて演算した結果をテキストファイルにして、その結果をテキストファイル内に書き込んで新しくデスクトップに作成するというプログラムを作りたいと考えています。
ですが、まずは以下の条件を満たすプログラムの内容を教えていただきたいと思います。
私はHTMLと同時にjavascriptを作っているのですがとりあえず、
・「テキストファイルの作成」というボタンをHTML内に作ります。
・そのボタンを押すとjavascriptのfunctionが動作し、「テキストの書き込みに成功しました」という内容が書かれたテキストファイルがデスクトップに新たに作成される。
というプログラムを知りたいです。
基礎的な原理だけを知りたいので上の条件を満たすプログラムを教えていただきたいと思います。
テキストファイルをデスクトップに作る方法と、作るテキストファイルにどのようにしてテキスト内容を書き込めばいいのか分かりません。
HTMLの部分がめんどくさければjavascriptの部分だけでも構いません。
よろしくお願いします。
No.7ベストアンサー
- 回答日時:
#2 です。
勉強目的ということでしたのでブラウザ(IE)依存で問題ないと考えていました。WSH でも hta でも JScript は利用できるはずなので。
質問者さんは以下の希望を持っていると想像していました。
・JavaScript だけでテキストファイルに出力したい
・ローカルで実行するので、ブラウザ依存で構わない (Webサイト制作が目的ではない)
そうではなく、
・Webサイト制作する上での JavaScript を知りたい
・標準的な JavaScript を学びたい (ブラウザ依存はしたくない)
・JavaScript 以外の言語(PHPなど)を学ぶこともいとわない
ということでしたら、私の見込み違いですのでどうぞスルーしてください…。
サーバサイドでファイル出力するのが一般的な手法だと私も思います。
No.6
- 回答日時:
>演算結果を確認するためにだけファイルを作成しようとしている印象を受けます。
すみません。そんな難しい事考える必要ありません。
クライアントサイドスクリプトなら
新しいウインドウ又は、フレームに
document.write()
xxxx.value=演算結果
alert();
xxxx.text =
ですみますよね。
サーバーサイドなら、
普通に標準出力にだせばいい(もちろんHTMLオブジェクト先でいい)。
両方の組み合わせでも同じ。
だって、サーバーサイドからDLした物は、そのままブラウザの機能使って「ファイルに保存」で目的は達成できる。
クライアントでのファイル入出力の可能性を導きけばいいだけの話。
デバック方法は、上記で十分です(サーバー側のサービスや、APIのでバックなら別だが)。
No.5
- 回答日時:
補足となります。
yyr446さんの仰るとおりです。
ファイルを作成したいという目的であれば、
サーバー側スクリプトにファイル出力を任せるのが現実的です。
さて、質問を改めて読むと「演算した結果をテキストファイルにして」という部分に
演算結果を確認するためにだけファイルを作成しようとしている印象を受けます。
この場合、試験的に作成した演算結果のファイルを後から削除しなければならないので、
ブラウザに実装されているデバッガに表示させる ― console.log() を活用する ― と、
コピー&貼り付けのような方法でテキストファイルに記録を取ることもできます。
多くの開発者はデバッガを活用されていると思います。
* IE…開発者ツール
* Firefox…firebug
* Opera…Dragon Fly
* Chrome/Safari…DevelopersTools
どれも、有効化した上でコード内に
console.log( 演算結果を示す変数1, 変数2 ); とか、
console.log( "エラーテキスト" ); のように記述するだけになります。
No.4
- 回答日時:
既に回答はでてますが、
javascriptの勉強が目的なら、javascriptでのファイル入出力の方法をあれこれ模索するのは無意味です。(特にクライアント側のデスクトップでの操作を想定してるなら)
インターネットじゃないローカル環境で、ユーザーインターフェースにブラウザーを使いたいだけなら、HTMLとJSCRIPT(ActiveX使用)で作って、拡張子をHTAにするってのもありますが、それならVBS(Vbscript)で書いた方が楽です。VBSでかくなら無理にブラウザー使わなくても、Windowsの部品が使えますから、WSHにしてしまった方が無駄が省けます。それなら、昔ながらのBATファイルでも出来ます。見栄えよくしたいなら、VBやVBAでやればよいんです。
ネットを介しての処理なら、javascriptでこだわるより、サーバーサイドのプログラム(PHP,perl,JAVA,VB)との連携について勉強した方がよいでしょう。
No.3
- 回答日時:
>、Windows に限定していいのであれば
ブラウザ依存です。ブラウザによって対応が違うので、ほぼIEのみです。
http://www.google.co.jp/search?hl=ja&q=%E3%83%96 …
(ほとんどJavaScriptがヒットするが我慢してみるとちゃんと在る、注意書きが)
ただ、他にもXML DOM対応のブラウザであれば、XMLとして出力が可能。XML操作で通常load とsaveのメソッドは、ほぼ対応しているので。もちろん、テキストですし、中身はHTML形式でもXMLでも、ただの文字列でもかまわない。
http://msdn.microsoft.com/en-us/library/ms753769 …
また、API関連で言えば、
http://msdn.microsoft.com/ja-jp/library/cc197062 …
です。XML以外は、IE、wscript, cscriptの移植に頼る事が大きい。
No.2
- 回答日時:
テキストファイル出力ですが、Windows に限定していいのであれば JScript が妥当だと思います。
http://msdn.microsoft.com/ja-jp/library/cc392177 …
http://msdn.microsoft.com/ja-jp/library/cc428071 …
No.1
- 回答日時:
現在のブラウザ事情では、ボタン操作によるファイル作成の回答は得られないと思います。
理由ですが、2つあります。
1)セキュイリティ上の問題でJavaScriptからは端末上のファイルを作成したり変更できないため。
2)Firefoxなどの新技術を試験的に実装しているブラウザでは HTML5関連技術である FileAPI が活用できるが、策定中の仕様で「不変の回答」を求めることが出来ないため。
>>プログラムを知りたい
FileAPI関連では同感。
検索すれば、「FileAPIでテキストを書き換えた」というブログエントリもありましたが、
策定中の仕様である以上、この場で回答できるものではないと思います。
代替案として2つ
1)ボタン操作を諦め、dataスキームを使う
TEXTAREAにある内容を dataスキームに処理して A要素のリンクとして生成。
このリンクを右クリックして「名前を付けて保存」を選ぶという方法なら
現在リリースされる全ての最終安定版ブラウザでもローカルに保存できます。
ボタン操作という要件は外しますが。
2)JavaScript以外の方法をとる。
IEに限ればJavaScriptという要件を外しますが、VBScriptを検討できると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/14 12:49
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- UNIX・Linux linuxシェルスクリプト(baシェル)でファイルにかかれた数式を評価し計算する方法を教えてください 1 2022/08/26 14:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptでテキス...
-
Ajaxが動きません~『status=0』?
-
JavaScriptによる....
-
XMLHttpRequestオブジェクトに...
-
ブラウザからエクセルを開く方法
-
VBAによる第3、4水準文字の判定...
-
JSPの処理の途中で、JavaScript...
-
VB.NET2003 テキストボックスに...
-
JavaScriptで ブラウザの閉じる...
-
JavascriptでのExcel起動について
-
IEでalertのみを無効にする方法...
-
javascriptで「オブジェクトを...
-
csvファイルを読み込み、該当項...
-
正整数の半角数字かどうか判定する
-
禁止文字チェック
-
IE8開発者ツールでソースの修正
-
VBAの[cellsメソッドは失敗しま...
-
デザイン時のVisible=Falseは実...
-
「終了していない文字列型の定...
-
変換テーブルを使った、文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jsでルートディレクトリより上...
-
Ajaxが動きません~『status=0』?
-
ブラウザからエクセルを開く方法
-
JavaScriptでテキス...
-
html組込み時のカレントフォル...
-
nodeでJavaScriptの標準入力
-
ローカルのtest.txtを1行ずつ...
-
JavaScriptによる....
-
ブラウザ上でjavascriptを編集...
-
ローカル環境で動作しないJavaS...
-
ajax 通信 iisの設定?
-
ブックマークレットが動かない。
-
ジャバスクリプトがポップアッ...
-
ActiveXObjectについて
-
javascriptでサーバ上のActives...
-
ブラウザ上でファイルの修正を行う
-
Illustrator でjavascriptによ...
-
XMLHttpRequestオブジェクトに...
-
node.jsでmysqlをローカル環境...
-
JavaScriptを使ってファイルの...
おすすめ情報