Video & sari kata · Kit Alat Sari kata
Cara fail sari kata diedit tanpa meninggalkan peranti anda: Failkan API ke Blob
· Bagaimana ia berfungsi
sari kata pemprosesan pelayar privasi
Alat fail ToolAcre membaca dan menulis fail di dalam tab. Siaran ini menerangkan API pelayar yang membolehkannya untuk fail sari kata, daripada pemilih fail ke pautan muat turun dan cara mengesahkan tiada apa-apa dimuat naik.
Transkrip adalah sulit dan penukar mahu anda memuat naiknya — masalah pemprosesan sebelah pelayar selesai
Transkrip pemendapan bukanlah fail yang anda serahkan kepada perkhidmatan web untuk mengetahui sama ada penukaran berfungsi. Kebanyakan penukar dalam talian adalah muat naik-dan-kembali: bait pergi ke pelayan, sesuatu berlaku dan hasilnya kembali. Untuk bahan sulit yang merupakan pendedahan, dan ia telah pun berlaku pada masa anda melihat output.
Pemprosesan sebelah pelayar mengalih keluar soalan. Fail dibuka oleh halaman dan bukannya dihantar kepadanya, setiap transformasi berjalan melawan salinan dalam memori, dan hasilnya ditulis kembali ke cakera dari tab yang sama. Tuntutan boleh diuji, yang lebih penting daripada tuntutan, kerana panel rangkaian akan menunjukkan sama ada sebarang permintaan membawa kandungan tersebut.
Memilih fail: objek Fail — bagaimana pelayar memberikan halaman pengendalian kepada bait tanpa menghantarnya ke mana-mana
Memilih fail melalui input fail tidak memindahkan apa-apa. Halaman menerima objek Fail, iaitu pemegang: nama, saiz, jenis dan rujukan yang boleh dibaca oleh pelayar. Memilih fail bukan muat naik, dan tiada apa-apa tentang memegang pemegang itu menyebabkan permintaan. Bait kekal di tempatnya sehingga kod memintanya.
Perbezaan ini adalah asas keseluruhan pemprosesan tempatan, dan ini juga sebab sifat privasi adalah hak milik kod dan bukannya pelayar. Halaman yang memegang objek Fail mampu menyiarkannya di suatu tempat. Apa yang menjadikan alat setempat ialah ia tidak.
Membaca teks secara setempat — File.text() dan TextDecoder menukar bait menjadi isyarat dalam ingatan
Membaca teks memanggil kaedah teks Fail API, yang menyelesaikan kepada rentetan yang dinyahkodkan sebagai UTF-8. Rentetan itu dihuraikan menjadi isyarat dalam ingatan, dan setiap operasi seterusnya berfungsi pada objek kiu tersebut: peralihan menambah pada cap waktu milisaat integer, membersihkan pengganti ke atas teks, pengesahan berjalan dalam senarai mencari kesilapan pesanan dan tempoh. Tiada satu pun daripadanya menyentuh fail asal, yang tidak pernah ditulis kepadanya.
Oleh kerana parse menghasilkan objek biasa, fail pada cakera tidak disentuh walaupun tab ditutup pada pertengahan suntingan. Tiada salinan sementara untuk dibersihkan dan tiada output bertulis separa, kerana penulisan sahaja berlaku apabila muat turun diminta.
Mengapa ini berjalan pada utas utama dan bukannya dalam Pekerja Web, dan apakah saiz siling sebenarnya
Garis besar buku kerja menjangkakan peringkat ini berjalan dalam Pekerja Web, dan untuk beberapa alat ToolAcre ia berfungsi; apl CSV, imej dan PDF masing-masing mengalihkan kerja berat mereka dari urutan utama. Apl sari kata sengaja tidak melakukannya, dan sebabnya direkodkan dalam sumbernya sendiri: pekerja akan menambah fail kedua dan mod kegagalan kedua untuk kerja yang tidak memerlukannya, kerana fail kapsyen panjang ciri ialah beberapa ratus kilobait dan menghuraikan dalam milisaat.
Kaveat yang jujur adalah saiz siling. Had sepuluh megabait dikuatkuasakan sebelum menghuraikan dan dinamakan pada halaman alat, tetapi dokumen alat yang diperiksa dilangkau untuk apa-apa yang dinamakan dengan sambungan sari kata, jadi fail sari kata bersaiz besar memuatkan dan menyekat halaman dan bukannya ditolak. Itu adalah akibat sebenar berjalan pada utas utama, dan ia didokumenkan dan bukannya tersembunyi.
Menulis kembali: Blob dan atribut muat turun — cara fail yang diedit mencapai cakera anda sebagai muat turun baharu
Menulis kembali membina Blob daripada teks bersiri dan menyerahkannya kepada pelayar sebagai muat turun. Teks dibalut dengan jenis media eksplisit yang membawa set aksara UTF-8, objek URL dicipta untuk Blob itu, sauh yang membawa atribut muat turun diklik dan sauh dikeluarkan. Fail tiba dalam folder muat turun sebagai fail baharu; asal tidak diubah suai.
Pembatalan itu sengaja ditangguhkan dan bukannya serta-merta. Membatalkan objek URL secara serentak selepas klik boleh membatalkan muat turun dalam sesetengah pelayar, jadi ia dijadualkan satu tugasan makro kemudian, yang selamat dan segera. Ini adalah jenis butiran yang sahaja muncul apabila muat turun sekali-sekala gagal dimulakan.
Contoh yang berfungsi: menonton panel rangkaian semasa penukaran-dan-masa penuh penuh — panel senyap daripada fail dibuka kepada penyimpanan fail
URL objek ialah bahagian yang bocor jika tiada siapa yang menonton. Pelajaran ditulis ke dalam pembantu repositori: projek yang diaudit mencipta URL objek di beberapa tempat dan membatalkannya tepat pada sifar, jadi setiap pratonton memegang keseluruhan gumpalannya sepanjang hayat tab. Pada telefon, segelintir halaman raster sudah cukup untuk pelayar mematikan tab.
Ubatnya adalah berstruktur dan bukannya disiplin. Tiada apa-apa yang memanggil pelayar API secara langsung; pembantu berskop menjalankan kod anda dengan URL dan membatalkannya apabila kod itu selesai, pada kejayaan, pada lontaran dan pada penolakan sama, dan pemegang terurus menawarkan pembatalan idempoten untuk kes yang hidup lebih lama daripada satu fungsi. Pembersihan yang betul ialah lalai dan bukannya sesuatu yang perlu diingati oleh setiap tapak panggilan.
Perkara yang tidak dilindungi ini — alat ini tidak dapat melindungi fail yang anda muat naik kemudian di tempat lain; privasi berakhir di mana aliran kerja anda meninggalkan tab
Untuk mengesahkan dan bukannya mempercayai, buka panel rangkaian sebelum memilih fail dan biarkan ia terbuka sepanjang kerja. Pilih fail, tukarkannya, laraskan semula masa, muat turun hasilnya. Permintaan untuk halaman dan skripnya muncul apabila halaman dimuatkan; yang tidak sepatutnya muncul ialah sebarang permintaan yang muatannya ialah fail. Kekalkan log merentasi keseluruhan sesi supaya tiada apa-apa yang terlepas antara langkah.
Dua kelayakan yang jujur. Halaman boleh memuatkan skrip analitis atau pengiklanan daripada asal lain, dan halaman tersebut boleh dilihat dalam panel yang sama dan merupakan soalan yang berasingan daripada sama ada fail anda telah dihantar. Dan harta itu berakhir pada tab: alat yang memproses secara setempat tidak dapat melindungi fail yang anda hantar e-mel, segerakkan ke storan awan atau tampal ke dalam perkhidmatan lain. Pemprosesan tempatan mengecilkan pendedahan kepada mesin anda sendiri; ia tidak mengikuti fail selepas itu.
Bawa pulang: fail anda, tab anda, cakera anda — cara Kit Alat Sari kata melakukan keseluruhan kerja secara setempat dan membolehkan anda mengesahkannya
Laluan ialah pemegang fail, teks dalam memori, isyarat dalam memori, Blob, muat turun dan tiada apa-apa dalam urutan itu memerlukan pelayan. Fail dibaca oleh halaman dan bukannya dihantar kepadanya, diubah sebagai objek, dan ditulis semula sebagai fail baharu, dengan fail asal tidak disentuh sepanjang.
Sebab untuk memilih ini untuk bahan sulit bukan kerana janji telah dibuat tetapi tuntutan itu boleh disemak dalam kira-kira satu minit. Buka panel rangkaian dahulu, lakukan seluruh kerja dan baca log. Alat yang memproses secara setempat akan menunjukkan kepada anda panel tanpa permintaan yang membawa transkrip anda, yang merupakan jaminan yang lebih kukuh daripada mana-mana dasar privasi.