ホームページ > ウェブフロントエンド > jsチュートリアル > Web ブラウザでローカル テキスト ファイルを効率的に読み取るにはどうすればよいですか?

Web ブラウザでローカル テキスト ファイルを効率的に読み取るにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-19 04:11:11
オリジナル
831 人が閲覧しました

How Can I Efficiently Read Local Text Files in a Web Browser?

ブラウザでのローカル テキスト ファイルの読み取り

XMLHttpRequest はブラウザでの非同期データ取得によく使用されるメソッドですが、場合によってはローカルテキストを読み取ろうとするときの問題files.

XMLHttpRequest に関する問題

よくあるエラーの 1 つは、リクエストが中止されたことを示す XMLHttpRequest 例外 101 です。これは、「file://」プロトコルを指定せずにローカル ファイルを読み取ろうとしたときに発生する可能性があります。

代替: Fetch API

ローカル テキストを読み取るためのより簡単な方法ファイルは、2015 年に導入された Fetch API を介して取得されます。Fetch API を使用して、次の名前のローカル ファイルを読み取るコード例"myText.txt":

fetch("myText.txt")
  .then((res) => res.text())
  .then((text) => {
    // Process the text data
  })
  .catch((e) => console.error(e));
ログイン後にコピー

ローカル ファイルへのアクセス

最新のブラウザでは、ファイル システムへの直接アクセスに厳しい制限が課されています。 「file:///」の使用は避けてください。代わりに、Python -m http.server や npx http-server などの軽量 Web サーバーを使用して、通常の HTTP URL 経由でデータをロードすることを検討してください。

XMLHttpRequest のサンプル コード

を使用する場合XMLHttpRequest、返されたステータスに依存するのではなく、手動でステータス 0 (ローカル ファイルを示す) を確認します。コード:

function readTextFile(file) {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", file, false);
  rawFile.onreadystatechange = function () {
    if (rawFile.readyState === 4) {
      if (rawFile.status === 200 || rawFile.status === 0) {
        var allText = rawFile.responseText;
        console.log(allText);
      }
    }
  };
  rawFile.send(null);
}
ログイン後にコピー

ファイル パスの指定

ファイル パスを指定するときは、必ず「file://」プロトコルを含めてください:

readTextFile("file:///C:/your/path/to/file.txt");
ログイン後にコピー

以上がWeb ブラウザでローカル テキスト ファイルを効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート