Bolehkah Pekerja Web Digunakan Tanpa Fail JavaScript Berasingan?
Pendekatan lalai untuk mencipta pekerja web melibatkan menulis mereka dalam fail JavaScript yang berasingan dan memanggil mereka seperti berikut:
<code class="js">new Worker('longrunning.js')</code>
Walau bagaimanapun, bagi mereka yang menggunakan Pengkompil Penutupan dan lebih suka mengelak daripada mengedarkan pekerja dalam fail yang berbeza, terdapat penyelesaian alternatif:
Pekerja Sebaris dengan BLOB
HTTP5Rocks menyediakan kaedah inovatif untuk pekerja dalam talian sebaris menggunakan fungsi Blob(). Teknik ini membolehkan anda menjana skrip pekerja anda secara dinamik atau membuat halaman serba lengkap tanpa memerlukan fail pekerja luaran.
<code class="js">var blob = new Blob([ document.querySelector('#worker1').textContent ], { type: "text/javascript" }); var worker = new Worker(window.URL.createObjectURL(blob));</code>
Dalam contoh ini, sifat textContent bagi elemen skrip HTML dengan id="worker1 " diambil dan digunakan untuk membina objek Blob dengan jenis MIME yang sesuai. Pekerja baharu kemudian dibuat dengan URL yang dibuat menggunakan kaedah createObjectURL() Blob. URL ini unik untuk Blob dan membenarkan pekerja dimuatkan dan dilaksanakan tanpa fail JavaScript yang berasingan.
Atas ialah kandungan terperinci Bolehkah Pekerja Web Dilaksanakan Tanpa Fail JavaScript Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!