Terangkan atribut `async` dan` Defer` untuk skrip dalam HTML5.
Perbezaan antara async dan menangguhkan adalah masa pelaksanaan skrip. Async membolehkan skrip dimuat turun selari dan dilaksanakan dengan segera selepas memuat turun, tanpa menjamin perintah pelaksanaan; Defer melaksanakan skrip dalam rangka selepas parsing HTML selesai. Kedua -duanya mengelakkan menyekat parsing HTML. Menggunakan Async sesuai untuk skrip mandiri seperti menganalisis kod; Defer sesuai untuk senario di mana anda perlu mengakses DOM atau bergantung pada skrip lain.
Apabila anda menambah JavaScript ke halaman HTML, menggunakan atribut async
atau defer
boleh membuat perbezaan yang nyata dalam bagaimana halaman anda memuat dan berfungsi. Kedua -dua atribut ini mengawal bagaimana penyemak imbas mengendalikan pemuatan dan pelaksanaan skrip, terutamanya semasa penguraian dokumen HTML.

Inilah yang mereka lakukan secara pendek:
-
async
membuat beban skrip selari dengan parsing HTML dan melaksanakannya sebaik sahaja ia dimuat turun - tanpa menunggu parsing HTML selesai. -
defer
juga memuat skrip sementara HTML sedang dihuraikan, tetapi ia menunggu sehingga seluruh dokumen HTML dihuraikan sebelum menjalankan skrip.
Mari kita terperinci tentang kapan dan mengapa anda menggunakan setiap satu.

Apa yang berlaku tanpa async
atau defer
Secara lalai, apabila penyemak imbas menemui tag <script></script>
(tanpa sebarang atribut), ia berhenti menghuraikan HTML. Ia memuat turun dan menjalankan skrip dengan segera. Hanya selepas skrip selesai melaksanakan pelayar terus membina DOM.
Tingkah laku ini boleh menyebabkan kelewatan dalam membuat halaman, terutamanya jika skripnya besar atau mengambil masa untuk dimuat turun. Itulah sebabnya async
dan defer
diperkenalkan - untuk mengelakkan menyekat parser.

Bagaimana async
berfungsi
Atribut async
memberitahu penyemak imbas bahawa skrip tidak bergantung pada kandungan halaman atau skrip lain. Jadi penyemak imbas boleh:
- Muat turun skrip di latar belakang semasa ia terus menghuraikan html
- Jalankan skrip sebaik sahaja ia selesai memuat turun
- Hentikan HTML Parsing cukup lama untuk melaksanakan skrip
Kerana tingkah laku ini, async
lebih baik digunakan untuk skrip yang benar -benar bebas - seperti pelacak analisis atau widget mudah yang tidak berinteraksi dengan kandungan halaman.
Contoh:
<script src = "analytics.js" async> </script>
Nota Penting:
- Perintah pelaksanaan tidak dijamin untuk pelbagai skrip
async
- Mereka berlari sebaik sahaja mereka siap, bukan mengikut urutan yang mereka tampilkan di HTML
Bagaimana defer
berfungsi
Dengan defer
, skrip juga memuat turun di latar belakang semasa parsing HTML. Tetapi bukannya berjalan segera, ia menunggu sehingga seluruh dokumen HTML telah dihuraikan.
Ini bermaksud:
- HTML Parsing terus tidak terganggu
- Skrip dilaksanakan mengikut urutan yang mereka tampilkan dalam dokumen
- Pelaksanaan berlaku selepas DOM dibina sepenuhnya tetapi sebelum acara
DOMContentLoaded
Ini sesuai untuk skrip yang perlu mengakses atau memanipulasi DOM, atau bergantung pada skrip tertunda yang lain.
Contoh:
<script src = "main.js" defer> </script>
Mata Utama:
-
defer
pesanan pelaksanaan yang mengekalkan - Ia memastikan Dom sudah siap apabila skrip berjalan
- Tidak perlu menunggu secara manual untuk
DOMContentLoaded
di dalam skrip
Bila Menggunakan Yang
Memilih antara async
dan defer
bergantung kepada skrip yang dilakukan dan sama ada ia bergantung kepada apa -apa lagi.
Gunakan async
jika:
- Skrip tidak bergantung pada Dom atau skrip lain
- Anda mahu ia berjalan secepat mungkin setelah dimuat turun
- Ini seperti kod penjejakan atau widget pihak ketiga
Gunakan defer
jika:
- Skrip perlu mengakses atau mengubah suai DOM
- Ia bergantung pada skrip lain (terutama yang lebih awal di halaman)
- Anda ingin memastikan pelaksanaan berlaku dalam urutan tertentu
Jika skrip kecil dan kritikal, kadang -kadang lebih baik untuk menyamakannya dalam blok <script></script>
dan bukannya memuatkannya secara luaran - tetapi itu topik lain.
Ringkasan Perbandingan Cepat
Ciri | Skrip biasa | async
|
defer
|
---|---|---|---|
Blok HTML Parsing? | Ya | Tidak | Tidak |
Melaksanakan dengan teratur? | N/a | Tidak | Ya |
Menunggu HTML? | - | Tidak | Ya |
Menunggu skrip lain? | - | Tidak | Ya (mengikut urutan) |
Oleh itu, pada dasarnya, pilih async
apabila skrip boleh berjalan pada bila -bila masa, dan defer
apabila perlu menunggu halaman tersebut. Kedua-duanya membantu meningkatkan prestasi dengan mengelakkan JavaScript menyekat-dan itu menjadikan pengalaman pengguna yang lebih baik.
Itu sahaja. Tidak terlalu rumit apabila anda mendapat gantungnya.
Atas ialah kandungan terperinci Terangkan atribut `async` dan` Defer` untuk skrip dalam HTML5.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

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

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

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)

Mengisytiharkan dokumen sebagai HTML5 untuk mengelakkan penyemak imbas daripada memasuki mod pelik; 2. Tentukan elemen akar dan tentukan bahasa untuk meningkatkan kebolehcapaian dan SEO; 3. Ia termasuk memastikan pengekodan watak yang betul, melaksanakan reka bentuk responsif, dan menetapkan tajuk halaman; 4. Letakkan semua kandungan yang boleh dilihat, secara pilihan menambah pautan CSS, Favicon dan JavaScript; Templat ini lengkap dan serasi dengan pelayar moden, dan sesuai untuk sebarang fail HTML baru.

Server-Sentevents (SSE) adalah teknologi dalam HTML5 yang melaksanakan pelayan yang mendorong data kepada pelanggan dalam masa nyata, dan sesuai untuk pasaran saham, sistem pemberitahuan dan senario lain. Ia berdasarkan protokol HTTP, dan tetap terbuka selepas mewujudkan sambungan. Pelayan boleh menghantar kemas kini pada bila -bila masa, menyokong penyambungan semula automatik dan format data standard. Bahagian depan menerima data dengan membuat objek Eventsource dan mendengar peristiwa mesej. Backend perlu menetapkan jenis MIME yang betul (teks/aliran peristiwa) dan pastikan sambungan terbuka dan berterusan aliran data output. Apabila menggunakannya, anda perlu memberi perhatian kepada isu-isu silang domain, masa tamat sambungan, keserasian penyemak imbas dan sekatan lapisan pertengahan.

Tag skema.org membantu enjin carian memahami format data berstruktur kandungan laman web melalui tag semantik (seperti skop item, jenis item, itemprop); Ia boleh digunakan untuk menentukan perbendaharaan kata tersuai, kaedah termasuk memperluaskan jenis sedia ada atau menggunakan tambahanType untuk memperkenalkan jenis baru; Dalam aplikasi sebenar, mengekalkan struktur yang jelas, menggunakan atribut rasmi terlebih dahulu, menguji kesahan kod, dan memastikan jenis tersuai boleh diakses; Langkah berjaga-jaga termasuk menerima sokongan separa, mengelakkan kesilapan ejaan, dan memilih format yang sesuai seperti JSON-LD.

Untuk menjalankan logik tersuai, gunakan skrip komposer, pertama tambahkan blok skrip dalam komposer.json dan peristiwa bind. Langkah-langkah utama ialah: 1. Memahami peristiwa terbina dalam komposer seperti pra-pemasangan-CMD, pasca-install-CMD, dan lain-lain; 2. Sediakan blok skrip, tentukan arahan atau susunan skrip yang diperlukan, dan laksanakannya secara urutan; 3. Gunakan pemprosesan kelas untuk mencapai kawalan yang lebih kompleks, dan menerima peristiwa dan antara muka IO melalui kaedah statik; 4. Perintah komposer secara manual semasa ujian dan periksa kod output dan pulangan untuk memastikan skrip berfungsi secara normal.

Html5parsershandlemalformedhtmlbyfollowingadeterministicalgorithmtoensureConsistentandrobrendering.1.FormationIstraChedorunclosedtags, theParserautomaticallyclosestagsandadjustsnestingbasedoncontext, suchasclosingabeforeandreaandreaandreaandreaeAdinreaReaReaTheReaTheReaTheReaThing

Html5dataattributesarecustom, validhtmlattributesedToStoreExtrainFormationInelementsforjavasctorcs.1.theyaredefinedasdata-*atribut, likedata-user-id = "123"

Untuk memaparkan kawalan main balik video HTML5, anda mesti menambah atribut kawalan; 1. Tambah atribut kawalan ke tag untuk memaparkan main balik lalai, jeda, kelantangan, bar kemajuan, skrin penuh dan kawalan lain; 2. Jika anda perlu menyesuaikan paparan, anda boleh menetapkan video.controls secara dinamik ke Benar atau Palsu oleh JavaScript; 3. Gaya kawalan lalai berbeza -beza oleh penyemak imbas dan sistem operasi. Sekiranya anda perlu menyesuaikan antara muka sepenuhnya, anda perlu mengeluarkan kawalan dan menggunakan JavaScript untuk membina kawalan tersuai. Menambah atribut Kawalan adalah langkah asas dan perlu untuk melaksanakan kawalan main balik.

Sila jelaskan kedua -dua elemen atau atribut HTML5 yang anda ingin bandingkan, seperti berbanding, berbanding, atau ID dengan kelas, supaya saya dapat memberikan penjelasan yang jelas dan praktikal tentang perbezaannya.
