Pengenalan kepada API Beacon
- API Beacon menyediakan penyelesaian kepada pemaju web untuk menghantar sejumlah kecil data, seperti analisis atau diagnostik, kembali ke pelayan secara asynchronously sementara halaman semasa memunggah, menyelesaikan masalah kelewatan yang berpotensi atau kehilangan maklumat berharga.
- API Beacon terdiri daripada satu kaedah, Sendbeacon, yang dilampirkan pada objek Navigator. Ia mengambil dua parameter, URL untuk menghantar data kepada dan data yang akan dikemukakan. Data dikemukakan melalui permintaan pos HTTP dan boleh dihantar sebagai arraybufferview, gumpalan, domstring, atau objek FormData.
- API Beacon disokong oleh pelayar desktop utama seperti Chrome, Firefox, dan Opera, tetapi tidak dalam versi terkini IE dan Safari. Bagi penyemak imbas tanpa sokongan, pemaju boleh menggunakan pengesanan ciri dan sandaran kepada kaedah yang lebih lama untuk menghantar data pada halaman WAB.
tanpa API Beacon, menghantar data kembali ke pelayan anda apabila pengguna menavigasi dari halaman boleh menjadi lebih rumit daripada yang kelihatannya. Anda tidak mahu melambatkan halaman seterusnya dari pemuatan, kerana ini akan merosakkan pengalaman pengguna laman web anda. Namun, anda tidak mahu melepaskan maklumat berharga yang dapat membantu meningkatkan laman web anda: Menghantar data terlalu awal mungkin bermakna anda kehilangan maklumat berharga yang anda
boleh telah ditangkap jika anda menunggu pecahan lebih lama.
Penyelesaiantipikal yang menghantar data analisis ke pelayan kerana dokumen memunggah mungkin kelihatan seperti ini:
<span>window.addEventListener('unload', function(event) { </span> <span>var xhr = new XMLHttpRequest(), </span> data <span>= captureAnalyticsData(event); </span> xhr<span>.open('post', '/log', false); </span> xhr<span>.send(data); </span><span>}); </span> <span>function captureAnalyticsData(event) { </span> <span>return 'sample data'; </span><span>}</span>
Synchronous . Penyemak imbas biasanya mengabaikan permintaan tak segerak yang dibuat semasa pengendali bongkar, jadi apa -apa permintaan AJAX seperti itu mempunyai menjadi segerak. Memandangkan ia segerak, penyemak imbas perlu menunggu permintaan untuk melengkapkan sebelum ia boleh memunggah dokumen dan memaparkan halaman seterusnya. Tambahan tambahan ini boleh membawa kepada persepsi prestasi yang buruk.
Teknik lain yang digunakan dan bukannya permintaan Ajax segerak termasuk menetapkan SRC objek imej dalam pengendali bongkar. Penyemak imbas akan menunggu imej dimuatkan sebelum memunggah dokumen, di mana data masa boleh dikemukakan ke pelayan. Walau bagaimanapun, ini masih mempunyai masalah yang sama: pemunggahan dokumen semasa akan ditangguhkan sementara permintaan, kali ini untuk imej, selesai, yang boleh membawa kepada persepsi prestasi yang buruk.API Beacon dicipta untuk membantu menyelesaikan isu -isu ini. Ia mentakrifkan antara muka yang membolehkan pemaju menghantar sedikit data ke pelayan web asynchronously . Ia terdiri daripada hanya satu kaedah, SendBeacon, yang dilampirkan pada objek Navigator. SendBeacon mengambil dua parameter, URL yang anda ingin serahkan data dan data yang akan dikemukakan:
<span>window.addEventListener('unload', function(event) { </span> <span>var xhr = new XMLHttpRequest(), </span> data <span>= captureAnalyticsData(event); </span> xhr<span>.open('post', '/log', false); </span> xhr<span>.send(data); </span><span>}); </span> <span>function captureAnalyticsData(event) { </span> <span>return 'sample data'; </span><span>}</span>
Data dikemukakan melalui permintaan pos HTTP, dan boleh dihantar sebagai arraybufferview, gumpalan, domstring, atau objek FormData. Penyemak imbas itu menghilangkan permintaan itu, dan menghantarnya "pada peluang yang paling awal, tetapi boleh mengutamakan penghantaran data yang lebih rendah berbanding dengan trafik rangkaian yang lain." (Seperti spesifikasi W3C). SendBeacon mengembalikan benar jika data berjaya diserahkan kepada pelayan, atau palsu sebaliknya.
Sokongan untuk Navigator.Sendbeacon adalah baik di seluruh pelayar desktop utama. Anda akan mendapati ia disokong dalam versi semasa Chrome, Firefox, dan Opera, tetapi tidak dalam versi terkini IE dan Safari. Memandangkan anda tidak dapat menjamin ketersediaannya, anda bertaruh terbaik adalah menggunakan pengesanan ciri dan sandaran kepada salah satu kaedah lama menghantar data pada halaman bongkar:
<span>window.addEventListener('unload', function(event) { </span> <span>var data = captureAnalyticsData(event); </span> <span>navigator.sendBeacon('/log', data); </span><span>});</span>
Saya telah membuat aplikasi sampel kecil yang boleh anda gunakan untuk melihat API Beacon dalam tindakan. Anda perlu memasang Node.js untuk menjalankan pelayan. Untuk menjalankan sampel:
- Muat turun dan unzip fail zip ke dalam folder pilihan anda misalnya. Beaconapi
- Buka terminal anda dan ubah direktori ke dalam folder yang anda buat dalam langkah 1 mis. CD/PATH/TO/BEACONAPI
- Masih di terminal, taipkan NPM Pasang dan tekan
- sekarang taipkan debug = beaconapi_demo ./bin/www dan tekan
- Buka penyemak imbas yang menyokong API Beacon dan tunjuk ke http: // localhost: 3000
anda harus melihat halaman yang kelihatan seperti ini:
Kesimpulan
Artikel ini telah memperkenalkan API Beacon. Ia adalah API yang sangat kecil, tetapi mengisi niche tertentu. Semoga anda dapat menggunakannya dengan baik.
Soalan Lazim (Soalan Lazim) Mengenai Beacon Api
Apakah fungsi utama API Beacon? API ini amat berguna untuk menghantar data analisis, yang boleh dihantar tanpa menjejaskan pengalaman pelayaran pengguna. API Beacon memastikan bahawa data dihantar walaupun pengguna menavigasi dari halaman atau menutup penyemak imbas. API digunakan untuk menghantar data dari klien ke pelayan, mereka berbeza dalam kes penggunaan dan tingkah laku mereka. Ajax biasanya digunakan untuk mengambil data dari pelayan dan mengemas kini laman web tanpa memuatkannya. Sebaliknya, API Beacon digunakan untuk menghantar data ke pelayan, terutamanya data analisis, tanpa menyekat pengalaman pelayaran pengguna. Tidak seperti Ajax, API Beacon memastikan bahawa data dihantar walaupun pengguna menavigasi dari halaman atau menutup penyemak imbas. Untuk menggunakan API Beacon dalam aplikasi web anda, anda boleh menggunakan kaedah Navigator.SendBeacon (). Kaedah ini mengambil dua argumen: URL untuk menghantar data ke, dan data untuk dihantar. Data boleh menjadi objek FormData, gumpalan, arraybufferview, atau objek UrlSearchParams. Berikut adalah contoh:
var data = formData baru ();
Bolehkah saya menggunakan API Beacon untuk menghantar data ke domain yang berbeza? Walau bagaimanapun, pelayan mesti menyokong CORS (perkongsian sumber silang asal) dan mesti dikonfigurasikan untuk menerima permintaan silang asal dari domain anda. Beacon API disokong dalam pelayar yang paling moden, termasuk Chrome, Firefox, Safari, dan Edge. Walau bagaimanapun, ia tidak disokong di Internet Explorer. Anda boleh menyemak sokongan penyemak imbas semasa di laman web seperti yang boleh saya gunakan. seperti data analisis. Walaupun tidak ada had keras pada jumlah data yang boleh anda hantar, menghantar sejumlah besar data boleh memberi kesan kepada prestasi rangkaian pengguna. Oleh itu, disarankan untuk menggunakan API Beacon untuk menghantar sedikit data tidak kritikal. dibatalkan. API Beacon tidak menyediakan cara untuk membatalkan atau membatalkan permintaan Beacon. Inilah sebab lain mengapa ia disyorkan untuk menggunakan API Beacon untuk data tidak kritikal yang tidak memerlukan pengesahan resit.
Atas ialah kandungan terperinci Pengenalan kepada API Beacon. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

JavaScript adalah bahasa utama pembangunan web moden dan digunakan secara meluas untuk kepelbagaian dan fleksibiliti. 1) Pembangunan front-end: Membina laman web dinamik dan aplikasi satu halaman melalui operasi DOM dan kerangka moden (seperti React, Vue.js, sudut). 2) Pembangunan sisi pelayan: Node.js menggunakan model I/O yang tidak menyekat untuk mengendalikan aplikasi konkurensi tinggi dan masa nyata. 3) Pembangunan aplikasi mudah alih dan desktop: Pembangunan silang platform direalisasikan melalui reaktnatif dan elektron untuk meningkatkan kecekapan pembangunan.

Artikel ini menunjukkan integrasi frontend dengan backend yang dijamin oleh permit, membina aplikasi edtech SaaS yang berfungsi menggunakan Next.Js. Frontend mengambil kebenaran pengguna untuk mengawal penglihatan UI dan memastikan permintaan API mematuhi dasar peranan

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing
