ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は Safari と Chrome のクライアント側でローカル ファイルの内容を読み取ることができますか?

JavaScript は Safari と Chrome のクライアント側でローカル ファイルの内容を読み取ることができますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-26 07:11:10377ブラウズ

Can JavaScript Read Local File Contents Client-Side in Safari and Chrome?

ブラウザ間で JavaScript でクライアント側でファイル コンテンツを読み取る

ファイル コンテンツをブラウザーから取得するためのスクリプト ベースのソリューションを見つける取り組み中ブラウザを使用するクライアント マシンに対応するため、Firefox および Internet Explorer 用のソリューションが開発されました。ただし、この機能を他のブラウザに拡張すると、次のような疑問が生じます:

Safari と Chrome でクライアント側でファイル コンテンツにアクセスできますか?

ネイティブ ファイル API アプローチ

元の回答以来、ファイル API は、以下を含むほとんどの最新ブラウザでサポートされる標準化されたメソッドとして登場しました。 IE10以降。この API は、非同期ファイルの読み取り、複数のファイルの処理、および適応可能なテキスト エンコーディングのデコードに対する強力なサポートを提供します。

ファイル API を利用するには、次の手順を使用できます:

var file = document.getElementById("fileForUpload").files[0];
if (file) {
    var reader = new FileReader();
    reader.readAsText(file, "UTF-8");
    reader.onload = function (evt) {
        document.getElementById("fileContents").innerHTML = evt.target.result;
    }
    reader.onerror = function (evt) {
        document.getElementById("fileContents").innerHTML = "error reading file";
    }
}

WebKit ベースのブラウザ (Safari、Chrome)

残念ながら、現時点では元の回答では、WebKit ブラウザ (Safari や Chrome を含む) にはファイルの内容を読み取るためのネイティブ サポートがありませんでした。ただし、提案は提示されました:

  • WebKit プロジェクトにパッチを送信する。
  • HTML 5 に含めるための Mozilla API を提案する。

それ以来、状況に関する重要な更新はありません。 WebKit ブラウザは、引き続き File オブジェクトを介してファイル名とサイズへのアクセスのみを提供し、これらのブラウザからファイルの内容を直接読み取る機能は制限されます。

代替考慮事項

  • ブラウザ拡張機能の使用の実現可能性を検討します。
  • サーバー側 API を実装して、ファイルの読み取りを処理します。
  • ファイルの処理には、ドラッグ アンド ドロップなどの代替手法を検討してください。

以上がJavaScript は Safari と Chrome のクライアント側でローカル ファイルの内容を読み取ることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。