2012-02-10 34 views
3

現在、このコードを使用して、単語を含むtxtファイルを読み込み、いくつかの操作を実行します。しかし、この特定のコードでは、htmlをサーバーにデプロイする必要があります。このコードを、サーバーを必要とせずにファイルを読み取るために置き換えることができる回避策はありますか?Javascriptオフラインのテキストファイルを読む

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "dictionary.txt", false); 
xhr.send(null); 
var words= xhr.responseText.split(","); 
+0

なぜファイルを読む必要がありますか?ページにデータを含めるだけではいかがですか? – robertc

答えて

0

あなたは、そのSRC =「dictionary.txt」で、

をページ上のiframeを隠し、それがオンロードイベントが発生するのですときIFRAMEのローカルコンテンツを読み取ったり操作することができます。

2

クライアントのコンピュータからファイルを読み取ることはできません。したがって、読み込んでいるテキストファイルは、JavaScriptと同じサーバー上にある必要があります。

ただし、コンピュータからHTMLファイルを読み込む場合(例:file:// c:/../test.html)、相対パスを使用してコンピュータ上にあるファイルを読み取ることができます。

+0

Ajaxを使用せずに、自分のWebサイトのフォルダのルートにあるdictionary.txtというファイルを読みたい。それを行う方法はありますか? HTML5では、ユーザーがファイルを選択した場合にのみこれを行うことができます。 HTMLがロードされるとすぐにこれを自動的に実行します。 –

+0

Ajaxなしでは不可能です。私は確信していません。アプレットまたはFileSystemオブジェクトを使用することも、NativeClientを使用することもできます。しかし、Ajax以外の標準的な方法はありません。これを参照してください:http://www.javascripter.net/faq/reading2.htm – riship89

3

サーバードメイン外でAjaxを呼び出すことはできません(ただし、scriptagproxyを使用する場合を除き、サーバー側の設定が必要です)。つまり、Ajaxコールを使用してローカルコンピュータのファイルを読むことはできません。

thisの記事が好きかもしれません。

ファイルの選択は、入力またはドラッグアンドドロップで行うことができます。参照してください:this

+0

これは現在のコードですが、私はサーバーを使用しています。このコードを変更して、自分のWebアプリケーションとオフラインを使用できるようにします。 HTML5では、ユーザーがファイルを選択した場合にのみファイルを開くことができます。私はそのファイルを自動的に読みたい。 –

+0

https://developer.mozilla.org/en/Using_files_from_web_applications – riship89

関連する問題