- ベストアンサー
Javascript でText file の書き換えはできますか
初歩的な質問です。 Form 文で入力された文字列を、 既存のText file(HTML) の末尾に書き加える作業を Javascript ですることは可能でしょうか。 もちろん挿入部位は、</body> の手前ですが。 既存ファイルの書き換えや保存の自動化が無理な場合には、 新たなウィンドウを表示させて、それを手動で保存すれば良さそうに思うのですが。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No4の方の書かれたようなscriptは 企業で開発されたものがあります・・・ http://zerobase.jp/blog/entry-275.html このページの「ブックマークレット」 2005-10-26 スタンドアロン版 [blet]HTMLリアルタイム編集(stdaln版) を試して見てください。
その他の回答 (4)
ソースを表示して手動で保存する条件で手っ取り早くやるならこんなのはいかがでしょうか。 -----フレームのページ--------- <html> <head><title>Html</title></head> <frameset cols="50%,*"> <frame src="main.html" name="main"> <frame src="html.html" name="html"> </frameset> </html> -------末尾に文字を入れる左側のページ--------- <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>HTML</title> <script type="text/javascript"> <!-- function a(){ var str=document.getElementsByTagName('textarea')[0].value; var TEXT = document.createTextNode(str); document.body.appendChild(TEXT); html = document.getElementsByTagName('html')[0].innerHTML; parent.html.document.open(); parent.html.document.write('<html>\n'); parent.html.document.write(html); parent.html.document.write('\n'); parent.html.document.write('</html>\n'); parent.html.document.close(); } //--> </script> </head> <body> <form> <textarea>aaaaaa</textarea> <button onclick="a()">挿入</button> </form> </body> </html> -----HTMLを書き出すページ----------- <html><head><title></title></head><body></body></html> 今はフォームがあるページの最後に文字列を入れてそれを書き出していますが、これをフレームを3つに分割してフォームと編集ページ、それを書き出すページに分ければ難しいことを考えずに目的をある程度達成できると思うのですが・・・
- KanjiTalk
- ベストアンサー率30% (7/23)
可能です。JavaScriptからもファイルシステムオブジェクトを呼び出すことはできます。但し、ファイルシステムオブジェクトのJavaScriptでの利用について書かれた書籍はあまりにもすくないので、VBScriptを使った方がいいでしょう。私はそうしていますが、操作できるのはローカルのファイルのみですし、Windowsでしか動作しないのでお気をつけください。
お礼
ご回答ありがとうございます。 ローカルファイルを呼び出して編集する具体的なスクリプト例をご教授いだだけると助かります(JS でもVBSでも)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
基本的にブラウザ上で実行されるjavascript では、ファイルの書き出しはできないと思って下さい。 その上で、 ローカルでIEでActiveXが許可されていて、HTMLがShift_JISで書かれている。 というような条件を満たすのであれば、できるような気がしますが、 そんな面倒くさいことをするくらいだったら、 エディタで、追加した方がいいと思います。
お礼
ご回答ありがとうございました。エディタの使用はごもっともですが、 Javascript で自動編集機能を持たせようと、このようなことを考えておりました。
ブラウザに表示されているHTMLを編集することは可能です。 サーバー上にあるHTMLをJavaScriptだけで直接変更することは不可能です。
お礼
サーバー上ではなくローカルのHTMLの編集なのですが、どんなスクリプトにしたら良いのか見当もつかないため質問させていただきました。初心者ですのでよろしくお願いします。
お礼
詳細なご回答をありがとうございます。 入力窓が左右両ページにも現れ、右ページ側で入力した時には文字が書き足される様子が手に取るようにわかりました。 ここで、右ページの内容をフレーム内ではなく新しいウィンドウで開き、 入力窓はそこには表示させなくする方法を見つけようと格闘していますがうまくいきません。 ご助言をいただければ幸いです。