Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Membaca Fail Teks Setempat dalam Penyemak Imbas Saya?

Bagaimanakah Saya Boleh Membaca Fail Teks Setempat dalam Penyemak Imbas Saya?

DDD
DDDasal
2024-12-17 08:35:24280semak imbas

How Can I Read Local Text Files in My Browser?

Cara Mendekati Membaca Fail Teks Setempat dalam Penyemak Imbas

Anda menghadapi cabaran membaca fail teks tempatan dalam penyemak imbas anda. Untuk menangani perkara ini, pertimbangkan perkara berikut:

1. Menggabungkan API Ambil

Memperkenalkan API Ambil menawarkan pendekatan yang diperkemas untuk mendapatkan semula data daripada URL, menggantikan kaedah XMLHttpRequest. Laksanakannya seperti ini:

fetch("myText.txt")
  .then((res) => res.text())
  .then((text) => {
    // Process the "text" content
  })
  .catch((e) => console.error(e));

2. Elakkan fail:///

Pelayar moden mengehadkan akses sistem fail langsung dengan ketat. Untuk memintas ini, elakkan menggunakan awalan file:///.

3. Gunakan Pelayan Web untuk Ujian Tempatan

Daripada bergantung pada file:///, gunakan pelayan web yang ringan, seperti:

  • python -m http.server

Ini membolehkan anda mengakses data anda menggunakan URL HTTP standard, mengurangkan akses had.

Penyelesaian Asal

Untuk mengendalikan isu XMLHttpRequest, lakukan perkara berikut:

  • Semak status 0 apabila memuatkan fail setempat.
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);
}
  • Nyatakan fail:// dalam fail anda laluan.
readTextFile("file:///C:/your/path/to/file.txt");

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Fail Teks Setempat dalam Penyemak Imbas Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn