1

ローカルテキストファイルを読み込んで、音節や文字のカウントなどの機能を実行しようとしています。

私はこれを行うことによってこれを行おうとしています:

var txtFile = new XMLHttpRequest();
        txtFile.open("GET", "file://path/to/my/file.txt", true);
        txtFile.onreadystatechange = function() {
    if (txtFile.readyState === 4) {  // Makes sure the document is ready to parse.
            if (txtFile.status === 200) {  // Makes sure it's found the file.
            allText = txtFile.responseText;
            //lines = txtFile.responseText.split("\r\n"); // Will separate each line into an array
        } //"\r\n" 
    }
}

'txtFile'をコマンドラインに記録しようとすると、[ObjectHtmlRequest]が出力されますが、ロードしているものを確認して、それを反復処理するにはどうすればよいですか?

このコードを実行しようとすると、エラーメッセージも表示されます

var text = txtFile
//$(this).val();
//document.text_input.my_text.value = newtext;
var words = new Array(text.replace(/\s/g, ' ').split(' '));

以前は機能していましたが、テキストを使用しなくなったため、現在は機能していないと思います

4

1 に答える 1

1

ほとんどのブラウザは、JavaScriptがローカルファイルシステムを使用することを許可しません。Chromeは間違いなくそうはなりません。Firefoxなどについてはよくわかりません。

その場合に私がすることは次のいずれかです:

  • 読み取りたいファイルが静的である場合は、ローカルディレクトリに基づいたローカルWebサーバーを使用します。私は通常、python -mhttp.server(Python 3)またはpython -mSimpleHTTPServer(Python 2)から始めます。

  • ユーザーにファイルを選択させる場合は、最新のHTML5ファイルAPIを使用します。詳細はこちら

編集:まあ、私が言ったことは完全に真実ではありません。Chromeではローカルファイルを使用できますが、コマンドラインで特別なスイッチ(--allow-file-access-from-files)を使用して起動する必要があります。率直に言って、これは面倒であり、実際には開発のみを目的としています。本番環境では、これに依存しないでください。

于 2013-03-01T21:16:38.480 に答える