(再質問)

LinuxでのWEB製作経験ある方にお聞きします。
Fedora Core上のテキストファイルの読み書きをFireFoxのWEB画面からjavascriptを使って行いたいのですが、どのような手法がありますか?ブラウザの警告は出ても問題ないです。

ちなみにwindowsではwshを使いますよね。こんな感じに。
var fso = new ActiveXObject("Scripting.FileSystemObject");

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/05/30 09:45:42
  • 終了:2007/05/31 23:26:00

回答(3件)

id:openseed No.1

openseed回答回数51ベストアンサー獲得回数62007/05/30 18:51:29

ポイント35pt

この質問では、何がしたいか分からないかもしれません。

ちなみに、windows でやったときは、サーバとクライアントは、同一マシンですか?

サーバはIISでJScriptでCGIを書かれていたのでしょうか?

ファイルの書き出しは、サーバ側で行われたのでしょうか?

または、クライアント側で行われたのでしょうか?

まず、どちら側(サーバ、クライアント)のディスクに書き込みを行いたいのかを整理する必要があります。

※ FireFox(クライアント)は、FedoraCode上で動作していますか?


推測ですが、サーバ側のファイルを読み書きを行いたいと思うのですが・・・。

読み込みは、公開ディレクトリにファイルがあったり、表示用のCGIあれば出来ると思います。

書き込みに関しては、サーバサイドのCGIがないと出来ません。

※ プロトコルを、http に限定し、webdav は考慮していません。

id:upride

あーまた説明が足りないようですね。

別ページに環境などを書きました。

http://www.geocities.jp/upride_com/

こちらでご確認下さい。

javascriptなのでクライアントサイドの話です。

FedoraCore端末がクライアントになります。

そして対象ファイルもクライアントのリソースです。

クライアントの場合でもCGIを使うんですかね?

javascriptからCGIを動作させるってできるのかなー?

よろしくですーー。

2007/05/31 11:34:42
id:elecsta No.2

elecsta回答回数23ベストアンサー獲得回数02007/05/31 10:34:59

ポイント35pt

javascript では基本的にファイルを直接いじることは不可能です。

なので、http サーバ側のCGIなどと通信していじる必要があります。

いわゆるAJAX式です。

たとえば、下記のようにPHPと組み合わせるなど。

http://www.atmarkit.co.jp/fwcr/rensai/ajax_php02/01.html

クライアントのファイルを操作する場合でもCGIを経由する必要があるためクライアントに http サーバがないとダメですね。

単純に javascript から CGI を起動する場合、document.form名.submit() などで form に指定したactionを実行できます。

id:upride

説明図を追記しましたが、それ以前に回答いただいたんですね。えーとクライアントの話です。

うーん。無理なんですかねー。ローカルファイルにアクセスするのは。もうちょっと回答を募ってみます。ありがとうございました。

・・Firefoxのプラグインを作るしかないのかなー?

2007/05/31 11:51:10
id:junglejungle No.3

junglejungle回答回数21ベストアンサー獲得回数02007/05/31 19:26:38

ポイント50pt

javascriptで構成されているTiddlyWikiがローカルで動作し、

ファイルの保存も出来ます。当然ソースコードも見れるので

参考になるんじゃないでしょうか。

http://www.tiddlywiki.com/

# Ability to SaveChanges on:

* FireFox and Opera under all operating systems

* InternetExplorer under Windows

* Safari and Camino under OS X

* Minimo on Nokia 770


mozillaSaveFile()の部分ですかね。

id:upride

なるほどー ありがとうございます。

saveChanges関数→saveFile関数→mozillaSaveFile関数とコールしてますね

完全ローカルで1ファイル完結なんですねー(これwikiって呼んでいいのかなー?)

私はこのサイトの画面をそのままローカルに保存したんですが、なんか間違ってますか?

画面上にファイルを保存って操作がみあたらないのですが?

ソースは読めるがツールの使い方がわからないww

でも可能性のある方法ですね。ありがとうございます。

※追記

IEでは動かないようですねw でもこれすごいかも。mozillaLoadFileがやりたいことにかなり近いです。ありがとうございました。

2007/05/31 23:14:43
  • id:upride
    うまく短文では説明できないので
    説明図を別ページに設けました。
    こちらを参照いただきたいと思います

    http://www.geocities.jp/upride_com/
  • id:openseed
    JavaScript だけでは無理なのでは?

    クライアントに、別のWWWサーバがあれば、JavaScriptから、CGIを呼び出せるような気もしますが・・・。

    署名したJava Appletを使うのがよいのではないでしょうか。
    ※ AppletとJavaScript で通信を行えば、(Scripting.FileSystemObject)と同じ機能を実現することも出来なくはないので。

  • id:upride
    質問者です

    うーん アプレット利用はいけそうですね。ありがとうございます。

    その場合はオブジェクトタグですね。ActiveXObjectなんつークラスは実はjavascriptではなくJscriptのクラスですからね。

    6年くらいjavaを書いていない(笑 どうするかなー。

  • id:upride
    質問者です。

    結局クライアントサイドでの機能実現は
    処理系やブラウザにかなり依存することがわかりました。

    FireFoxブラウザがもつ実装ライブラリをwindow.Components配下のクラスを呼び出すことでローカルリソースにアクセス出来そうですね。

    まだ検証も実装も何もしておりませんが、あたりがついたということでとりあえずクローズします。ありがとうございました。



この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません