Rumah >hujung hadapan web >tutorial js >Bolehkah JavaScript Membaca Kandungan Fail Tempatan Bahagian Klien dalam Safari dan Chrome?

Bolehkah JavaScript Membaca Kandungan Fail Tempatan Bahagian Klien dalam Safari dan Chrome?

Barbara Streisand
Barbara Streisandasal
2024-11-26 07:11:10422semak imbas

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

Membaca Kandungan Fail Sisi Pelanggan dalam JavaScript Merentasi Pelayar

Dalam usaha mencari penyelesaian berasaskan skrip untuk mendapatkan semula kandungan fail daripada mesin klien menggunakan pelayar, penyelesaian telah dibangunkan untuk Firefox dan Internet Explorer. Walau bagaimanapun, memperluaskan fungsi ini kepada penyemak imbas lain menimbulkan persoalan:

Bolehkah kami mengakses kandungan fail bahagian klien dalam Safari dan Chrome?

Pendekatan API Fail Asli

Sejak jawapan asal, API Fail telah muncul sebagai kaedah piawai yang disokong oleh kebanyakan moden pelayar, termasuk IE 10 dan seterusnya. API ini menyediakan sokongan teguh untuk pembacaan fail tak segerak, pengendalian berbilang fail dan penyahkodan pengekodan teks boleh suai.

Untuk menggunakan API Fail, langkah berikut boleh digunakan:

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";
    }
}

Pelayar Berasaskan WebKit (Safari, Chrome)

Malangnya, di masa respons asal, penyemak imbas WebKit (termasuk Safari dan Chrome) tidak mempunyai sokongan asli untuk membaca kandungan fail. Walau bagaimanapun, cadangan telah dikemukakan:

  • Serahkan tampung ke projek WebKit.
  • Cadangkan Mozilla API untuk dimasukkan dalam HTML 5.

Sejak itu , tiada kemas kini penting kepada situasi tersebut. Penyemak imbas WebKit terus hanya menyediakan akses kepada nama dan saiz fail melalui objek Fail, mengehadkan keupayaan untuk membaca kandungan fail terus daripada penyemak imbas ini.

Pertimbangan Alternatif

  • Terokai kemungkinan menggunakan sambungan penyemak imbas.
  • Laksanakan API sebelah pelayan untuk mengendalikan fail membaca.
  • Pertimbangkan teknik alternatif, seperti drag-and-drop, untuk pengendalian fail.

Atas ialah kandungan terperinci Bolehkah JavaScript Membaca Kandungan Fail Tempatan Bahagian Klien dalam Safari dan Chrome?. 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