Pengenalan
Membaca kandungan fail pada sisi klien dalam pelayar web boleh menjadi teknik yang berguna untuk pelbagai aplikasi. Walaupun terdapat penyelesaian untuk penyemak imbas tertentu seperti Firefox dan Internet Explorer, mencapai keserasian merentas pelayar boleh menjadi mencabar. Artikel ini meneroka pendekatan yang berbeza untuk membaca kandungan fail merentas berbilang penyemak imbas.
Mozilla File API
Firefox dan Internet Explorer memanfaatkan Mozilla File API untuk mendayakan pembacaan fail. API menyediakan akses kepada nama fail, saiz dan kandungan binarinya. Menggunakan API ini, pembangun boleh mengambil kandungan fail seperti berikut:
function getFileContents() { var fileForUpload = document.forms[0].fileForUpload; var fileName = fileForUpload.value; if (fileForUpload.files) { var fileContents = fileForUpload.files.item(0).getAsBinary(); document.forms[0].fileContents.innerHTML = fileContents; } else { // Handle other browsers with different file reading methods } }
IE File Reading
Dalam Internet Explorer, pustaka ActiveXObject boleh digunakan untuk membaca fail . Begini caranya:
function ieReadFile(filename) { try { var fso = new ActiveXObject("Scripting.FileSystemObject"); var fh = fso.OpenTextFile(filename, 1); var contents = fh.ReadAll(); fh.Close(); return contents; } catch (Exception) { return "Cannot open file :("; } }
WebKit (Safari dan Chrome)
Pada masa ini, penyemak imbas WebKit (seperti Safari dan Chrome) tidak menyokong pembacaan fail secara asli. Untuk menangani perkara ini, anda boleh sama ada:
API Fail
Sejak pengenalan awal API Fail Mozilla, API Fail telah diformalkan sebagai standard dan dilaksanakan dalam kebanyakan pelayar moden. Ia menawarkan pendekatan yang lebih standard dan mantap untuk membaca fail, termasuk sokongan untuk bacaan tak segerak, pengendalian fail binari dan penyahkodan pengekodan. Begini cara anda boleh menggunakan API Fail:
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"; } }
Kesimpulan
Walaupun sokongan pembacaan fail asli berbeza-beza merentas pelayar, API Fail telah muncul sebagai penyelesaian piawai untuk pengendalian fail silang pelayar. Dengan memanfaatkan API ini, pembangun boleh membaca kandungan fail secara cekap pada sisi pelanggan, membuka kemungkinan untuk aplikasi web yang inovatif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca Kandungan Fail Bahagian Klien dalam JavaScript Merentasi Pelayar Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!