如何进行脚本加载优化
如果我们只是单纯在 head 或 body 中引用脚本,由于是否会更改DOM是未知的, 所以脚本在下载执行的过程中会完全阻塞页面的渲染。
若脚本在 head 或 body 中间,有很大可能会出现空白页面,也无法进行用户交互,用户体验很差。
即便是可以并行下载 javascript 文件,但这个下载过程中会影响图片等资源的下载。
所以我们首先需要做的是:
把 script 标签放在 body 里最底部;
因为进行 HTTP 请求时有额外的性能开销,如三次握手,所以还要尽量减少 HTTP 请求:
把 javascript 文件合并成一个;
在一个请求里加载多个 javascript 文件
但是以上并没有解决我们的问题,一个大的 javascript 文件会下载执行脚长时间,在这段时间里,浏览器无法做其他事情。这就需要无阻塞脚本,也就是在页面加载完成后才加载 javascript 代码,即在 window对象 的 load 事件触发之后再下载脚本。
1 延迟脚本
defer:首先我们要确定该脚本不会改变DOM,因为加上就是告诉浏览器这个脚本不会改变 DOM,可以在页面加载完成后再执行。 给 script 标签加上这个属性后,这个文件就可以跟其他资源并行下载了。IE 从 IE10 开始不支持 defer
async:与 defer 区别在于下载完成后就执行,但 defer 要等到页面加载完成后才执行
2 动态脚本
也就是动态创建一个 script 标签,在合适的时机插入到页面中,我们可以这种方法来根据需要加载文件,也能指定脚本加载顺序。
3 XMLHttpRequest脚本注入
就是通过 XHR 获取脚本 然后在回调函数中创建 script 标签并插入到页面中
推荐方法
先添加动态加载所需的脚本,尽可能精简,其中添加一个加载脚本的函数
在 script 标签中调用函数加载其他脚本
当然,也有一些懒加载库能使用。
Atas ialah kandungan terperinci 如何进行脚本加载优化. 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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Pemotongan ialah alat penyuntingan video dengan fungsi penyuntingan yang komprehensif, sokongan untuk kelajuan berubah-ubah, pelbagai penapis dan kesan kecantikan serta sumber perpustakaan muzik yang kaya. Dalam perisian ini, anda boleh mengedit video secara terus atau membuat skrip penyuntingan, tetapi bagaimana untuk melakukannya? Dalam tutorial ini, editor akan memperkenalkan kaedah menyunting dan membuat skrip. Kaedah pengeluaran: 1. Klik untuk membuka perisian penyuntingan pada komputer anda, kemudian cari pilihan "Skrip Penciptaan" dan klik untuk membuka. 2. Dalam halaman skrip kreatif, masukkan "tajuk skrip", dan kemudian masukkan pengenalan ringkas kepada kandungan penggambaran dalam garis besar. 3. Bagaimanakah saya boleh melihat pilihan "Penerangan Papan Cerita" dalam garis besar?

Bagaimana untuk melaksanakan fail .sh dalam sistem Linux? Dalam sistem Linux, fail .sh ialah fail yang dipanggil skrip Shell, yang digunakan untuk melaksanakan satu siri arahan. Melaksanakan fail .sh ialah operasi yang sangat biasa Artikel ini akan memperkenalkan cara melaksanakan fail .sh dalam sistem Linux dan memberikan contoh kod khusus. Kaedah 1: Gunakan laluan mutlak untuk melaksanakan fail .sh Untuk melaksanakan fail .sh dalam sistem Linux, anda boleh menggunakan laluan mutlak untuk menentukan lokasi fail. Berikut ialah langkah khusus: Buka terminal

Kami telah mereka bentuk tutorial skrip Windows PowerShell ini untuk pemula, sama ada anda peminat teknologi atau profesional yang ingin meningkatkan kemahiran skrip anda. Jika anda tidak mempunyai pengetahuan awal tentang skrip PowerShell, artikel ini akan bermula dengan asas dan disesuaikan untuk anda. Kami akan membantu anda menguasai langkah pemasangan untuk persekitaran PowerShell dan membimbing anda melalui konsep dan ciri utama skrip PowerShell. Jika anda bersedia untuk mengetahui lebih lanjut tentang skrip PowerShell, mari kita mulakan perjalanan pembelajaran yang menarik ini bersama-sama! Apakah WindowsPowerShell? PowerShell ialah sistem arahan hibrid yang dibangunkan oleh Microsoft

Laravel ialah rangka kerja pembangunan PHP yang popular, tetapi kadangkala ia dikritik kerana lambat seperti siput. Apakah sebenarnya yang menyebabkan kelajuan Laravel tidak memuaskan? Artikel ini akan memberikan penjelasan yang mendalam tentang sebab mengapa Laravel lambat seperti siput dari pelbagai aspek, dan menggabungkannya dengan contoh kod khusus untuk membantu pembaca memperoleh pemahaman yang lebih mendalam tentang masalah ini. 1. Isu prestasi pertanyaan ORM Dalam Laravel, ORM (Pemetaan Perhubungan Objek) ialah fungsi yang sangat berkuasa yang membolehkan

Kutipan sampah (GC) Golang sentiasa menjadi topik hangat di kalangan pemaju. Sebagai bahasa pengaturcaraan yang pantas, pengumpul sampah terbina dalam Golang boleh mengurus memori dengan sangat baik, tetapi apabila saiz program bertambah, beberapa masalah prestasi kadangkala berlaku. Artikel ini akan meneroka strategi pengoptimuman GC Golang dan menyediakan beberapa contoh kod khusus. Pengumpulan sampah dalam pemungut sampah Golang Golang adalah berdasarkan sapuan tanda serentak (concurrentmark-s

Kerumitan masa mengukur masa pelaksanaan algoritma berbanding saiz input. Petua untuk mengurangkan kerumitan masa program C++ termasuk: memilih bekas yang sesuai (seperti vektor, senarai) untuk mengoptimumkan storan dan pengurusan data. Gunakan algoritma yang cekap seperti isihan pantas untuk mengurangkan masa pengiraan. Hapuskan berbilang operasi untuk mengurangkan pengiraan berganda. Gunakan cawangan bersyarat untuk mengelakkan pengiraan yang tidak perlu. Optimumkan carian linear dengan menggunakan algoritma yang lebih pantas seperti carian binari.

Penyahkodan kesesakan prestasi Laravel: Teknik pengoptimuman didedahkan sepenuhnya! Laravel, sebagai rangka kerja PHP yang popular, menyediakan pembangun dengan fungsi yang kaya dan pengalaman pembangunan yang mudah. Walau bagaimanapun, apabila saiz projek meningkat dan bilangan lawatan meningkat, kami mungkin menghadapi cabaran kesesakan prestasi. Artikel ini akan menyelidiki teknik pengoptimuman prestasi Laravel untuk membantu pembangun menemui dan menyelesaikan masalah prestasi yang berpotensi. 1. Pengoptimuman pertanyaan pangkalan data menggunakan pemuatan tertunda Eloquent Apabila menggunakan Eloquent untuk menanya pangkalan data, elakkan

Kesesakan prestasi Laravel didedahkan: penyelesaian pengoptimuman didedahkan! Dengan perkembangan teknologi Internet, pengoptimuman prestasi laman web dan aplikasi menjadi semakin penting. Sebagai rangka kerja PHP yang popular, Laravel mungkin menghadapi kesesakan prestasi semasa proses pembangunan. Artikel ini akan meneroka masalah prestasi yang mungkin dihadapi oleh aplikasi Laravel dan menyediakan beberapa penyelesaian pengoptimuman dan contoh kod khusus supaya pembangun dapat menyelesaikan masalah ini dengan lebih baik. 1. Pengoptimuman pertanyaan pangkalan data Pertanyaan pangkalan data ialah salah satu kesesakan prestasi biasa dalam aplikasi Web. wujud
